Emailbericht te lang??
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
Maw, laat eens wat van het script zien dat je gebruikt...
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 vind het persoonlijk mooier om een mail te krijgen in html dan in plain text, dus misschien is dat een optie voor je?
Volgens mij is er ook niks fout, hij laat 't op de website gewoon mooi zien.
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.
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....
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".
http://nl3.php.net/manual/nl/function.mail.php (einde van de zin \n)
Trouwens 1 zin mag niet langer zijn dat 70 tekens, Zie link Gewijzigd op 01/01/1970 01:00:00 door Sander
Sander:
Trouwens 1 zin mag niet langer zijn dat 70 tekens, Zie link http://nl3.php.net/manual/nl/function.mail.php (einde van de zin n)
Dat is dan waarschijnlijk ook waar het fout gaat. Als je alle newlines eruit haalt krijg je 1 lange zin die dan door PHP's mail() functie afgebroken wordt...
===============
$wvdp['wvdp_inhoud'] = eregi_replace('<br[[:space:]]*/?[[:space:]]*>', "\n", $wvdp['wvdp_inhoud']);
Misschien gaat het zo wel goed...