Ik heb voor een parochie een website gemaakt.
Hierop kan de pastoor wekelijks zijn "Woord van de Pastoor" kwijt.
Nu wil ik dat na invoeren in de database het "woord" gemailt wordt naaar mensen die zich hiervoor hebben opgegeven.
Gat verder goed. Alleen komt de tekst niet goed aan in de mailbox.

Ik krijg een gedeelte te zien dan wordt een woord afgebroken met een ! en dan komt op een nieuwe regel de rest, Op de website is niks aan de hand.

Hierbij een stukje voorbeeld:

enkele dier!
baren

Dit bedoel ik.
Is de tekst te lang?

Met vriendelijke groet,

Johan Rombouts
Hoe is het woord opgeslagen in de database en hoe haal je het er weer uit als je het per mail wilt versturen?

Maw, laat eens wat van het script zien dat je gebruikt...
De tekst is als longtext opgeslagen in de database.

Voor het mailen gebeurd het volgende:

$mailadressen_SQL = "SELECT * FROM abonneeadressen"; //tabel met de emailadressen
$mailadressen_result = mysql_query($mailadressen_SQL);
$wvdp_SQL = "SELECT wvdp_titel, wvdp_inhoud FROM website WHERE website_ID=1";// tekst ophalen
$wvdp_result = mysql_query($wvdp_SQL);
$wvdp = mysql_fetch_array($wvdp_result);
$wvdp['wvdp_titel'] = stripslashes($wvdp['wvdp_titel']);
$wvdp['wvdp_inhoud'] = stripslashes($wvdp['wvdp_inhoud']);
$wvdp['wvdp_inhoud'] = eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "", $wvdp['wvdp_inhoud']);
while($mailadressen = mysql_fetch_array($mailadressen_result)){
$recipient = $mailadressen['abonnee_adres'];
$subject = "Wekelijks woord van de Pastoor";
$header = "From: [email protected]\n";
$mail_body = $wvdp['wvdp_titel'] . "\n\n" . $wvdp['wvdp_inhoud'];
mail($recipient, $subject, $mail_body, $header);
}

kun je hier wat mee?

gr Johan
Ik zie niet zo snel wat er fout gaat, maar waarom verwijder je de html newline tags ([ignore]<br />[/ignore])?

Ik vind het persoonlijk mooier om een mail te krijgen in html dan in plain text, dus misschien is dat een optie voor je?
Die verwijder ik omdat ik anders <br/>'s in mijn mailtje heb staan.
Volgens mij is er ook niks fout, hij laat 't op de website gewoon mooi zien.
Maarja, je kunt toch niet zomaar newline tags verwijderen uit een tekst! Dan houdt je 1 lange zin over...

Als je je mails in plain text wilt versturen zul je van de <br /> tags de newline tags voor plain text moeten maken (dus : \n).

Maar mijn advies zou zijn om je mails gewoon in html te versturen, tenzij je natuurlijk een goede reden hebt om dat niet te doen. In html heb je namelijk zo veel meer mogelijkheden om je mails er netjes uit te laten zien...
ja ok, dat is wel zo. Ik dacht trouwens ook dat het /n moet zijn maar toen ik dit probeerde deed hij er 3 regels tussen i.p.v. 1 . Maar afgezien daarvan is mijn probleem nog niet opgelost.
Nee het is \n, maar daar twijfel ik ook elke keer weer over :P

Dat er nog newlines extra tussen komen komt doordat een harde enter in je script ook als een newline (\n) gezien wordt...

Maar inderdaad, je probleem is nog niet opgelost en ik zie ook niet waar het fout gaat. Misschien de manier waarop het woord in de database staat, maar dan zou het op de website ook niet goed moeten staan.

Maar aangezien het op de website wel goed staat, verwacht ik dat het probleem ook opgelost is als je het in een html mail plaatst...
Als je nu eens de tekst weergeeft in php, weten we in ieder geval zeker dat de gegevens goed uit de db worden opgehaald....
Het verschil tussen een website en een e-mail zit hem hierin:

Op een website kun je alleen een nieuwe regel beginnen met <p> of met <br>.

Een text-only mail kent die tekens niet. Die kijkt namelijk naar "\n".

Reageren