lo,
Druk bezig met het schrijven van een php class die MIME email genereerd. Naar mijn idee genereer ik correcte headers, maar om een of andere reden wordt de email bij sommige mailservers niet goed weergegeven.
Als de mail verstuurd wordt naar een @home addy bijvoorbeeld, geeft OE een stukje van de mime headers weer (vanaf X-Sender) alszijnde de body van het bericht, met dus ook de (encoded) body parts. (@home voegt een aantal headers zelf in, zie onderstaande voorbeeld). Ik vermoed dat het door deze headers komt, maar wat doe ik eraan?
Eerst maar even een verkorte versie van het script:
Als ik dit nu gebruik om een email te versturen naar een adres dat bijvoorbeeld op deze server draait, krijg ik de volgende data (server shiz eraf gehaald, enkel de relevante data)
To: xxx@xxx.nl
Subject: Een test mime mail
From: Test <xxx@xxx.nl>
MIME-Version: 1.0
X-Sender: Test <xxx@xxx.nl>
X-Mailer: Test Mailer
X-Priority: 3
Content-Type: multipart/alternative; boundary="bd_f44ef0648ec2ef021fea3efb464375df"
Message-Id: <20031117172121.A50782371DC@xxx.nl>
Date: Mon, 17 Nov 2003 18:21:21 +0100 (CET)
--bd_f44ef0648ec2ef021fea3efb464375df
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: base64
PGgyPkRpdCBpcyBlZW4gdGVzdCBtYWlsPC9oMj48cD5EZXplIGVtYWlsIGlzIG9wZ2VtYWFrdCBt
ZXQgSFRNTCwgZW4gdmVyem9uZGVuIG1ldCBNSU1FPC9wPg==
--bd_f44ef0648ec2ef021fea3efb464375df--
Helemaal prima zover ik kan zien, OE geeft het bericht ook netjes weer.. (hotmail ed ook btw).. Alleen bij de @home server krijgt het bericht ook nog extra headers, namelijk:
X-AtHome-MailScanner-Information: Neem contact op met support@home.nl voor meer informatie
X-AtHome-MailScanner: Found to be clean
Dit wordt ingevoegd na de "Date: Mon, 17 Nov 2003 18:21:21 +0100 (CET)" regel, en zorgt er dus blijkbaar voor dat OE het bericht weergeeft vanaf 'X-Sender', als plaintext...
Al met al een vrij lange post geworden, maar beter teveel dan teweinig info
Waarom heeft OE hier moeite mee? en wat doe ik eraan?
Druk bezig met het schrijven van een php class die MIME email genereerd. Naar mijn idee genereer ik correcte headers, maar om een of andere reden wordt de email bij sommige mailservers niet goed weergegeven.
Als de mail verstuurd wordt naar een @home addy bijvoorbeeld, geeft OE een stukje van de mime headers weer (vanaf X-Sender) alszijnde de body van het bericht, met dus ook de (encoded) body parts. (@home voegt een aantal headers zelf in, zie onderstaande voorbeeld). Ik vermoed dat het door deze headers komt, maar wat doe ik eraan?
Eerst maar even een verkorte versie van het script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <? $headers = "From: " . $this->from_name . " <" . $this->from_adress . ">" . "\r\n"; $headers .= "Reply-To: <" . $this->reply_adress . ">" . "\r\n"; $headers .= "Return-Path: <" . $this->from_adress . ">\r\n"; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "X-Sender: " . $this->from_name . " <" . $this->from_adress . ">" . "\r\n"; $headers .= "X-Mailer: " . $this->mailer . "\r\n"; $headers .= "X-Priority: 3\r\n"; $headers .= "Content-Type: multipart/alternative;" . " boundary=\"" . $this->boundary . "\"" . "\r\n"; //Example html message $headers .= "--" . $this->boundary . "\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; $headers .= chunk_split(base64_encode($this->data)) . "\r\n"; //End $headers .= "--" . $this->boundary . "--" . "\r\n"; //Send it mail($this->to, $this->subject, "", $headers); ?> |
Als ik dit nu gebruik om een email te versturen naar een adres dat bijvoorbeeld op deze server draait, krijg ik de volgende data (server shiz eraf gehaald, enkel de relevante data)
To: xxx@xxx.nl
Subject: Een test mime mail
From: Test <xxx@xxx.nl>
MIME-Version: 1.0
X-Sender: Test <xxx@xxx.nl>
X-Mailer: Test Mailer
X-Priority: 3
Content-Type: multipart/alternative; boundary="bd_f44ef0648ec2ef021fea3efb464375df"
Message-Id: <20031117172121.A50782371DC@xxx.nl>
Date: Mon, 17 Nov 2003 18:21:21 +0100 (CET)
--bd_f44ef0648ec2ef021fea3efb464375df
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: base64
PGgyPkRpdCBpcyBlZW4gdGVzdCBtYWlsPC9oMj48cD5EZXplIGVtYWlsIGlzIG9wZ2VtYWFrdCBt
ZXQgSFRNTCwgZW4gdmVyem9uZGVuIG1ldCBNSU1FPC9wPg==
--bd_f44ef0648ec2ef021fea3efb464375df--
Helemaal prima zover ik kan zien, OE geeft het bericht ook netjes weer.. (hotmail ed ook btw).. Alleen bij de @home server krijgt het bericht ook nog extra headers, namelijk:
X-AtHome-MailScanner-Information: Neem contact op met support@home.nl voor meer informatie
X-AtHome-MailScanner: Found to be clean
Dit wordt ingevoegd na de "Date: Mon, 17 Nov 2003 18:21:21 +0100 (CET)" regel, en zorgt er dus blijkbaar voor dat OE het bericht weergeeft vanaf 'X-Sender', als plaintext...
Al met al een vrij lange post geworden, maar beter teveel dan teweinig info
Waarom heeft OE hier moeite mee? en wat doe ik eraan?