Archief - PHP: probleem met HTML mail in Outlook

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Rayne Varga

Legacy Member
Ik heb een stukje php dat een e-mail bericht verstuurt. De inhoud is HTML-code.
Zelf heb ik het hier getest in Outlook Express waar alles werkt, maar in Outlook
toont hij de volledige HTML-code (incl. alle tags dus) ipv het geformatteerde
bericht.

Dit is de code die ik gebruik:

PHP:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=\"iso-8859-1\"\r\n";
$headers .= "From: \"naam\" <[email protected]>\r\n";
$headers .= "To: \"naam\" <[email protected]>\r\n";
$headers .= "Bcc: [email protected] \r\n";

$subject = "tekst";
    
$bericht = "
<html>
<head>
<meta http-equiv=\"Content-Language\" content=\"nl\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<title>tekst</title>
</head>
<body>
html-code
</body>
</html>";
    

mail($to,$subject,$bericht,$headers);

Kan er iemand zeggen wat ik aan deze code moet aanpassen zodat het bericht
ook deftig getoond wordt in Outlook en andere clients?

xml

Legacy Member
- Voor email is de standaard regelgroote 70 karakters of zoiets, wss ligt het daaraan. Zie www.php.net/mail voor meer uitleg..

- Sommige mailservers kunnen niet om met de \r\n in de header, ook daarover staat er uitleg over op php.net/mail

Rayne Varga

Legacy Member
frenzal zei:
gebruik dit: http://phpmailer.sourceforge.net/

zeer handige mail class, html mails sturen is veel eenvoudiger

Volgens mij is dit toch een beetje te uitgebreid voor hetgene ik nodig heb.
Ik zou eigenlijk liever zorgen dat mijn stukje code werkt. Ik dacht dat dat niet
zo moeilijk zou zijn. Ik zal de tips van xml eens nagaan.

EDIT: vreemd, bij mij in Outlook 2002 werkt het wel maar bij de ander in
Outlook 2003 wordt er nog altijd de HTML-code getoond.

Rayne Varga

Legacy Member
Ik heb nu toch maar geprobeerd om die PHP Mailer te gebruiken. Ik heb daarvoor
deze tutorial gevolgd, maar ik krijg een fout "Call to undefined function: body()"
wanneer ik mailer->Body of mailer->AltBody doe. Het voorbeeld dat eerder in de
tutorial werd gegeven heb ik ook getest en dat werkte.
Weet iemand waaraan dit zou kunnen liggen?

EDIT: dit probleem is opgelost. Er zat een foutje in de tutorial.
mailer->Body(....) moest worden mailer->Body = .....

nielschrist

Legacy Member
Rayne Varga zei:
Ik heb nu toch maar geprobeerd om die PHP Mailer te gebruiken. Ik heb daarvoor
deze tutorial gevolgd, maar ik krijg een fout "Call to undefined function: body()"
wanneer ik mailer->Body of mailer->AltBody doe. Het voorbeeld dat eerder in de
tutorial werd gegeven heb ik ook getest en dat werkte.
Weet iemand waaraan dit zou kunnen liggen?

EDIT: dit probleem is opgelost. Er zat een foutje in de tutorial.
mailer->Body(....) moest worden mailer->Body = .....

Hi
Im danish and Im able to get the most of the above problemsolving eventhough its in dutch. Anyway Im continuing in english, and hope the answer will be aswell...

There is an error in the tutorial at

http://www.phpfreaks.com/tutorials/130/5.php

where the text should be

$mailer->Body = '$htmlBody';
$mailer->AltBody = '$textBody';

instead of calling the functions Body() and AltBody() (se the quotation)

My problem is that I write as Body = '$htmlBody' , but the body in the email only writes $htmlBody and not as I have defined it just before:
$htmlBody = "<html><head></head><body>Hej <br> test";

So the email body is

$htmlBody

but should be

Hej
test


Is anybody able to help me on this ?

EDIT - EDIT - EDIT - EDIT - EDIT - EDIT - EDIT - EDIT :

Ups, the error is obvoius :

$mailer->Body = '$htmlBody';
$mailer->AltBody = '$textBody';

should be

$mailer->Body = $htmlBody;
$mailer->AltBody = $textBody;

- I should just have read the first solutions properly!

vempire

Legacy Member
Heeft dit niets te maken met de beveiliging in outlook die ervoor zorgt dat je gen htmlcode kan uitvoeren vanwege veilgheidsgevaar? Als ik het zo begrijp werkt het op een mailclient wel maar op de andere niet?

Rayne Varga

Legacy Member
Het is al lang opgelost hoor. Het werkt nu via die PHPMailer.

Lashknife

Legacy Member
Nielschrist, try using " instead of ' to read content which needs to be parsed
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan