[PHP] multipart mail probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb de volgende code voor het versturen van een nieuwsbrief:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
/* Maak random key's voor de boundary's */
$key = md5(mt_rand());

/* Bepaal de boundary's */
$boundary = "----=_$key";

/* Stel de headers samen */
$headers  = "From: mail@mail.com <mail@mail.com>\n";
$headers .= "Reply-To: mail@mail.com\n";

$headers .= "Content-type: multipart/alternative; boundary=\"$boundary\"\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "X-Mailer: PHP / ".phpversion()."\n";

/* Begin het samenstellen van de body */
$message  = "--$boundary\n";

$message .= "Content-Type: text/plain;\n charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n";

/* Plaats hier je text/plain bericht. */
$message .= "plain tekst bericht\n";

$message .= "--$boundary\n";
$message .= "Content-Type: text/html;\n charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n";

/* Plaats hier je text/html bericht. */
$message .= "<html><head><title></title></head><body>\n";
$message .= "<font face=  Verdana size=3><p>Geachte mevrouw/heer $naam,</p></font></body></html>\n";

$message .= "--$boundary\n";

$subject = "Nieuwsbrief";

mail($email, $subject, $message, $headers);
?>
nieuwsbrief verstuurd
</body>
</html>

Ik heb echt in allerlei topics gezocht, maar kan nergens vinden waarom het plain text gedeelte niet goed doorkomt...
Kan iemand mij helpen?

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
lijn 25 een \n toevoegen. mime header en mime part worden gescheiden door \n\n
edit:

zelfde geldt voor lijn 32.

[ Voor 23% gewijzigd door stekkel op 16-02-2004 19:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

[mierenneuk]
Was het niet \r\n ?
[/mierenneuk]
;)

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Verwijderd schreef op 16 februari 2004 @ 20:13:
[mierenneuk]
Was het niet \r\n ?
[/mierenneuk]
;)
Je kon nog wel eens gelijk hebben wat betreft de mail functie in php.
Zelf heb ik alleen maar ervaring met directe SMTP socket connecties en Sendmail direct aanroepen. In het laatste geval moet je \n gebruiken. Bij socket verkeer naar SMTP \r\n

:)

Acties:
  • 0 Henk 'm!

Verwijderd

de laatste boundary bij multipart mail wordt afgesloten met een extra --

/pietjeprecies

Acties:
  • 0 Henk 'm!

Verwijderd

Waarom gebruik je niet gewoon een van de vele MailClasses die op het net te vinden zijn.

Ik schrijf 99% van mn code zelf, maar een mailclass pak ik toch echt van het net, daar ga ik mn tijd niet aan besteden.

Acties:
  • 0 Henk 'm!

  • Anders
  • Registratie: December 2000
  • Laatst online: 13-09 18:52
Verwijderd schreef op 17 februari 2004 @ 09:56:
Waarom gebruik je niet gewoon een van de vele MailClasses die op het net te vinden zijn.

Ik schrijf 99% van mn code zelf, maar een mailclass pak ik toch echt van het net, daar ga ik mn tijd niet aan besteden.
Ik moet dit onderschrijven. Ik heb hier onlangs een stuk code gepost mbt multipart-mail die veel lijkt op die van topic-starter die ik de afgelopen maanden met doorgaans goed gevolg heb ingezet, maar toen ik van het weekend tegen een eigenaardigheid aanliep waar ik maar niet uit kwam, heb ik de beroemde html mime class van Richard Heyes ingezet en daarmee waren alle problemen verleden tijd.
De code wordt er mee gereduceerd tot:

PHP:
1
2
3
4
5
6
7
8
9
10
include('inc/htmlMimeMail.php'); 

$mail   = new htmlMimeMail(); 
 
$mail->setHtml($HTML_contents, $TEXT_contents); 
 
$mail->setFrom('"name" <info@domain.nl>'); 
$mail->setSubject("Een e-card van " . $sender_name); 
 
$result = $mail->send(array($receiver_email), 'smtp');

Ik spoor veilig of ik spoor niet.

Pagina: 1