Middels onderstaande code, vorm ik headers voor een mailtje.
Dit mailtje is opgeslagen in een database en na een verificatie mailtje met daarin de link en activatie-code, word het feitelijke mailtje écht verstuurd.
Echter word het mailtje (nog) niet verstuurd, en dat is omdat de (extra) headers niet op orde zijn.
Ik heb gedacht dat het aan escaping lag, maar dit is niet het geval geweest.
Zowel bij '. $var .' en ". $var ." lukt het niet om een correcte header weergave te maken.
Als ik een uitdraai maak van $mailer, middels
Ook het mailen zelf binnen de while-loop zetten heeft geen zin, ook dan werkt het niet.
Wat is trouwens 'semantisch' / performance wise gezien daarvoor de beste oplossing?
Gewoon binnen de while-loop zetten, of los, zoals ik het nu opgelost heb?
Iemand die weet wat er hier aan de hand is, en hoe ik dit (voornamelijk het probleem van de headers) op kan lossen?
Ik heb overigens nog niet geprobeert om zonder de extra headers te mailen, dit kan ik vanavond pas testen of er dan wel gemailt word, waar ik overigens wel van uit ga dat dat wel lukken zal.
Ik wil gewoon deze extra headers meegeven, zodat een reactie bij de échte afzender terecht komt en om zekerder te zijn, dat een mailtje niet gemarkeerd word als zijnde spam.
Dit mailtje is opgeslagen in een database en na een verificatie mailtje met daarin de link en activatie-code, word het feitelijke mailtje écht verstuurd.
Echter word het mailtje (nog) niet verstuurd, en dat is omdat de (extra) headers niet op orde zijn.
Ik heb gedacht dat het aan escaping lag, maar dit is niet het geval geweest.
Zowel bij '. $var .' en ". $var ." lukt het niet om een correcte header weergave te maken.
PHP:
Ik heb de headers laten echo'en en krijg dan onderstaande (extra) headers eruit:1
2
3
4
5
6
| $eol = "\r\n"; $headers = 'From: '. $mailer['naam'] .' <'. $mailer['email'] .'>'.$eol; $headers .= 'Reply-To: '. $mailer['naam'] .' <'. $mailer['email'] .'>'.$eol; $headers .= 'Return-Path: '. $mailer['naam'] .' <'. $mailer['email'] .'>'.$eol; $headers .= 'Message-ID: <'. $_GET['code'] .'mailer@'.$_SERVER['SERVER_NAME'].'>'.$eol; $headers .= 'X-Mailer: PHP v'.phpversion().$eol; |
From: GJ Reply-To: GJ Return-Path: GJ Message-ID: <0e7d754e1a42e07249117693f0fd4c94mailer@www.domein.tld> X-Mailer: PHP v5.1.2
PHP:
Dan heeft $mailer['email'] wel degelijk een waarde, dus het afvangen van de kan van SQL is gewoon goed.1
2
3
| echo '<pre>'; print_r($mailer); echo '</pre>'; |
Ook het mailen zelf binnen de while-loop zetten heeft geen zin, ook dan werkt het niet.
Wat is trouwens 'semantisch' / performance wise gezien daarvoor de beste oplossing?
Gewoon binnen de while-loop zetten, of los, zoals ik het nu opgelost heb?
Iemand die weet wat er hier aan de hand is, en hoe ik dit (voornamelijk het probleem van de headers) op kan lossen?
Ik heb overigens nog niet geprobeert om zonder de extra headers te mailen, dit kan ik vanavond pas testen of er dan wel gemailt word, waar ik overigens wel van uit ga dat dat wel lukken zal.
Ik wil gewoon deze extra headers meegeven, zodat een reactie bij de échte afzender terecht komt en om zekerder te zijn, dat een mailtje niet gemarkeerd word als zijnde spam.
[ Voor 9% gewijzigd door CH4OS op 28-03-2007 13:58 ]