Enters in Mail
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$oMember = mysql_query("SELECT email FROM gebruikers");
while ($aMember = mysql_fetch_assoc($oMember)) {
$tomail = $aMember['email'];
$from = "Bedrijf";
$frommail = "[email protected]";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: " . $aMember['email'] . " <" . $aMember['email'] . ">\r\n";
$headers .= "From: " . $from . " <" . $frommail . ">\r\n";
$message = "Geachte Meneer/Mevrouw,\n\n".$_POST['mailing']."\n\nMet vriendelijke groet,\nBedrijf\n\nLet op, dit is geen spam, u ontvangt dit bericht omdat u bent ingeschreven op onze website met de gebruikersnaam: ".$aMember['login'].".";
$subject = $_POST['titel'];
if (@mail($tomail, $subject, $message, $headers))
$iGoed++;
else
$iFout++;
?>
$oMember = mysql_query("SELECT email FROM gebruikers");
while ($aMember = mysql_fetch_assoc($oMember)) {
$tomail = $aMember['email'];
$from = "Bedrijf";
$frommail = "[email protected]";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: " . $aMember['email'] . " <" . $aMember['email'] . ">\r\n";
$headers .= "From: " . $from . " <" . $frommail . ">\r\n";
$message = "Geachte Meneer/Mevrouw,\n\n".$_POST['mailing']."\n\nMet vriendelijke groet,\nBedrijf\n\nLet op, dit is geen spam, u ontvangt dit bericht omdat u bent ingeschreven op onze website met de gebruikersnaam: ".$aMember['login'].".";
$subject = $_POST['titel'];
if (@mail($tomail, $subject, $message, $headers))
$iGoed++;
else
$iFout++;
?>
Dit is mijn script voor de nieuwsbrief, toch wordt de gehele tekst in een lange
sliert weergeven in de inbox van de ontvangers, heb het getest met clients
zoals Gmail of Hotmail, maar het is altijd een lange sliert zonder enters...?!
Wat gaat er fout?
Let op dat je bij het versturen van email 2 berichten aanmaakt. Dus 1 HTML bericht en 1 plain tekst bericht (voor als de mail client geen HTML berichten ondersteunt).
Deze 2 berichten verstuur je natuurlijk in 1 email (met 2 aparte headers).
Een goed mailprogramma is bijvoorbeeld phpmailer.
Gewijzigd op 01/01/1970 01:00:00 door Barman V
Sowieso geef jij aan dat het in html is (Content-Type: text/html), dus waarom gebruik jij dan geen html?
Ik kan van tevoren toch niet kijken of de client van de gebruiker
HTML mails accepteert of niet?
Zet er dan iets bij van: Kunt u deze mail niet lezen? Klik hier. En dat ze dan naar de versie die op je site staat gaan. Zo zie je dat heel vaak.
Bedankt voor jullie hulp.
Ricolo schreef op 15.08.2008 14:43:
Klinkt inderdaad best logisch, maar hoe doe ik het dan zonder phpmailer bijvoorbeeld met die plain text en html.
Ik kan van tevoren toch niet kijken of de client van de gebruiker
HTML mails accepteert of niet?
Ik kan van tevoren toch niet kijken of de client van de gebruiker
HTML mails accepteert of niet?
Je stuurt een mail met 2 headers. Hieronder een voorbeeld.
Bron: http://www.daniweb.com/forums/thread2959.html
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$boundary = "nextPart";
$headers = "FROM: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/alternative; boundary = $boundary\r\n\r\n";
$headers .= "This is a MIME encoded message.\r\n\r\n";
//text version
$headers .= "--$boundary\n
Content-Type: text/plain; charset=ISO_8859-1\r\n
Content-Transfer_Encoding: 7bit\r\n\r\n";
$headers .= "This is the plain version\r\n\r\n";
// html version
$headers .= "--$boundary\r\n
Content-Type: text/html; charset=ISO_8859-1\r\n
Content-Transfer_Encoding: 7bit\r\n\r\n";
$headers .= "This is the <b>HTML</b> version";
mail("[email protected]", "An HTML Message", "", $headers);
?>
$boundary = "nextPart";
$headers = "FROM: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/alternative; boundary = $boundary\r\n\r\n";
$headers .= "This is a MIME encoded message.\r\n\r\n";
//text version
$headers .= "--$boundary\n
Content-Type: text/plain; charset=ISO_8859-1\r\n
Content-Transfer_Encoding: 7bit\r\n\r\n";
$headers .= "This is the plain version\r\n\r\n";
// html version
$headers .= "--$boundary\r\n
Content-Type: text/html; charset=ISO_8859-1\r\n
Content-Transfer_Encoding: 7bit\r\n\r\n";
$headers .= "This is the <b>HTML</b> version";
mail("[email protected]", "An HTML Message", "", $headers);
?>
edit
Dus er wordt eerst geprobeerd het HTML bericht te tonen. Wordt dit niet geaccepteerd, dan wordt het plain bericht getoond.
Gewijzigd op 01/01/1970 01:00:00 door Barman V