2009-08-18 16 views
3
mail($to, $subject, $message, $headers); 

die $ header ist:php Mail-Header für Outlook - die E-Mail kommt in Outlook leer und groß yahoo gmail

 
From: [email protected] 
Reply-To: [email protected] 
Content-Type: text/html; charset=iso-8859-1 
X-Mailer: PHP/5.2.5 
MIME-Version: 1.0 

Ich baute $header mit jenen Linie und ich änderte die Reihenfolge, in jeder Weise, setze den Mime am Anfang, am Ende, verschiebe das von und antworte rundherum und füge die X-mailer Zeile hinzu. Die Ergebnisse sind gleich. Gmail und Yahoo sind in Ordnung und die E-Mail ist ein leerer Anhang, wenn Outlook 2003 gesetzt.

Irgendwelche Gedanken?

sdfor

+0

Sie wären besser dran, so etwas wie PEAR zu schicken HTML-E-Mails – Greg

Antwort

5

danke für die gedanken. Ich versuchte phpMailer und blieb auf einem Fehler "konnte Mail-Funktion nicht instanziieren" hängen. Ich habe auch eine Frage dazu gestellt.

Aber ich habe das Problem herausgefunden. Outlook benötigt einen Doctype und das HTML ist korrekt. Gmail nimmt fast alles. \

Folgendes funktioniert!

// die Nachricht:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head></head> 
<body> 
<h1>HTML EMAIL</h1> 
</body> 
</html> 

// die Header

$headers = "From: $from\n" 
$headers .= "Reply-To: $replyto\n" 
$header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; 

// der Mail-Anruf

mail($to, $subject, $message, $headers); 
+0

Versuchen Sie Swiftmail auch, es funktioniert sehr gut. –

2

persönlich ziehe ich phpmailer, verfügbar auf Source verwenden. Es bietet eine viel robustere Mailing-Lösung. Ich benutze es, um unseren E-Mail-Newsletter zu versenden. Sehr zuverlässig.

0

Versuchen Sie, das Ende von "Von: ..." hinzuzufügen. Diese E-Mail sollte eine tatsächliche E-Mail-Adresse auf dem Server sein. Überprüfe deinen Spam-Ordner mit dem, was du hast.