[php]mail functie, outlook (express)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een mail script. En voorzover ik wist werkte het. Ik had het getest in Mozilla en in hotmail. De emails kwamen daar "loud en clear" over. Dus met gewenste opmaak en gegevens.

Nu was ik laatst aan het testen in Outlook( en ook express ). Wat bleek de helft van de e-mail wordt niet weergegeven. De email bestaat uit een html gedeelte. En om de een of andere manier wil outlook de html opmaak niet goed laten tonen weet iemand waar dan aan ligt?

ligt dit aan mijn headers:

PHP:
1
2
3
4
5
6
7
8
9
10
11
$headers = "From: $from_name<$from_email>\n"; 
$headers .= "Reply-To: <$from_email>\n"; 
$headers .= "MIME-Version: 1.0\n"; 
$headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n"; 
$headers .= "X-Sender: $from_name<$from_email>\n"; 
$headers .= "X-Mailer: PHP4\n"; //mailer 
$headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal 
$headers .= "Return-Path: <$from_email>\n"; 
$headers .= "This is a multi-part message in MIME format.\n"; 
$headers .= "------=MIME_BOUNDRY_main_message \n"; 
$headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_message_parts\"\n";


of ligt dit aan het begin van de email:

PHP:
1
2
3
4
5
6
$message .= "------=MIME_BOUNDRY_message_parts\n"; 
$message .= "Content-Type: text/html;\n    charset=\"iso-8859-1\"\n"; 
$message .= "Content-Transfer-Encoding: quoted-printable\n"; 
$message .= "\n"; 
$message .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; 
$message .= "<HTML><BODY>\n";


of ligt het aan het einde van de email:

PHP:
1
2
3
4
$message .= "</BODY></HTML>\n"; 
$message .= "\n"; 
$message .= "------=MIME_BOUNDRY_message_parts--\n"; 
$message .= "\n"; $message .= "------=MIME_BOUNDRY_main_message--\n";


het probleem begint pas echt wanneer ik een simpele link in de email wil stoppen. bijv: ( dit zet ik dan na het begin van de email )

PHP:
1
$message .= "<a href=\"www.microsoft.com\"><font face=\"Verdana\" size=\"20\">Billie</a>";


hij maakt dan een html output als : ttp://www.microsoft.com"

[ Voor 14% gewijzigd door Verwijderd op 05-11-2003 16:16 ]


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Dit komt toch wel heel vaak voorbij heb ik het idee.
zoek even en kijk naar de voorbeelden die daar gegeven worden.
vervolgens kun je dan verschillen gaa zoeken, of gewoon een werkend voorbeeld langzaam ombouwen naar hoe jij het wil hebben

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
header en body niet door \n\n gescheiden.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mmm, dat een extra \n helpt niet.


Ik vind het zo raar dat hotmail en mozilla het wel goed weergeven maar dat Outlook en Outlook express er niet mee over weg kunnen. Waar ligt dat aan...

Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

stekkel schreef op 05 november 2003 @ 16:28:
header en body niet door \n\n gescheiden.
het is \r\n

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Nee, het is \n\n .. of anders \r\n\r\n, maar aangezien de TS overal al \n gebruikt is het ene beetje raar ineens \r\n te gaan doen
Verwijderd schreef op 05 november 2003 @ 16:35:
mmm, dat een extra \n helpt niet.


Ik vind het zo raar dat hotmail en mozilla het wel goed weergeven maar dat Outlook en Outlook express er niet mee over weg kunnen. Waar ligt dat aan...
Ik heb je net een link naar wat hits met de zoekmachine gegeven. Je bent echt de zoveelste al die met dit probleem zit en er valt inmiddels zoveel aan tips etc. te vinden dat ik vind dat je die eerst eens door moet gaan nemen, ipv het door ons te laten oplossen. (het ligt aan je headers en dat luistert nou eenmaal erg nauw)

Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

Jouw mails zijn blijkbaar niet quoted-printable encoded.

Zie ook:
[rml][ php] html-mail eet letters op[/rml]

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

marty schreef op 05 november 2003 @ 17:39:
[...]


Nee, het is \n\n .. of anders \r\n\r\n, maar aangezien de TS overal al \n gebruikt is het ene beetje raar ineens \r\n te gaan doen
Volgens de PHP manual is het toch \r\n
PHP:
1
2
3
4
5
/* additional headers */
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";

$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";
http://nl.php.net/manual/en/function.mail.php

[ Voor 6% gewijzigd door dArtagnan op 05-11-2003 19:00 ]


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Koraalduivel schreef op 05 november 2003 @ 18:59:

Volgens de PHP manual is het toch \r\n
Zou maar zo kunnen, ik gebruik de mail functie binnen php nooit. Wat ik wel weet is dat wanneer direct (zonder mail functie) mail stuurt dan moet je bij gebruik van SMTP \r\n gebruiken als regeleinde en bij gebruik van sendmail \n als regeleinde.

Wanneer php mail alleen \r\n slikt dan is het uiteraard aan te bevelen om dan maar \r\n te gebruiken.

edit:

Dit geldt uiteraard alleen voor de rfc822 header. In de body en mime headers maakt het niet uit.

[ Voor 11% gewijzigd door stekkel op 05-11-2003 19:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
php slikt het wel, maar outlook interpreteert het verkeerd....

de souce codedie php is wel goed, maar om de een of andere vage reden laat hij het maar half tonen...

[ Voor 3% gewijzigd door Verwijderd op 05-11-2003 19:39 ]


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
ik zei ook dat je best \r\n kon gebruiken, maar dat het er dan wel 2x moet staan. je kan zowel \n als \r\n in je headers gebruiken, maar het hangt een beetje van je server af welke hij slikt. Ik ken gevallen die problemen hadden met \n die waren opgelost toen ze \r\n gebruikte, maar andersom ook.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het bovenstaande niet werkend gekregen in zowel Mozilla, Outlook, outlook express en hotmail.

Ik ben daarom opnieuw begonnen. Voor de volledigheid en voor zoekers in de database zet ik hier een html mail die wel in alle werkt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$ontvanger = "email@email.com\r\n";

$onderwerp = "Onderwerp\r\n";

$inhoud  = "<a href=\"http://www.microsoft.com\"><font face=\"Verdana\" size=\"16\">Billie's site</font></a><br><br>\r\n";
$inhoud .= "<a href=\"http://www.microsoft.com\">en stevie's site</a>\r\n";

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: afzender<afzender@email.com>\r\n";


mail($ontvanger,$onderwerp,$inhoud,$headers);

[ Voor 65% gewijzigd door Verwijderd op 05-11-2003 20:25 ]

Pagina: 1