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

l'en-tête $ est:têtes php mail pour Outlook - l'email arrive vide à Outlook, et grand à GMail yahoo

 
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 

J'ai construit $header avec les lignes et j'ai changé l'ordre dans tous les façon, en mettant le Mime au début, à la fin, en déplaçant le et répondre autour de l'ajout et la suppression de la ligne X-mailer. Les résultats sont les mêmes. Gmail et Yahoo sont bien et l'e-mail est une pièce jointe vide lorsque mis à Outlook 2003.

Des idées?

sdfor

+0

Vous seriez mieux d'utiliser quelque chose comme PEAR envoyer E-mails HTML – Greg

Répondre

5

merci pour les pensées. J'ai essayé phpMailer et suis resté bloqué sur une erreur "Impossible d'instancier la fonction de courrier". J'ai posté une question à ce sujet aussi.

Mais j'ai compris le problème. Outlook nécessite un doctype et que le HTML soit correct. Gmail prendra presque n'importe quoi. \

Les travaux suivants!

// le message:

<!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> 

// les en-têtes

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

// courrier appel

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

Essayez aussi Swiftmail, ça marche très bien. –

2

Personnellement, je préfère utiliser phpmailer, disponible sur sourceforge. Il offre une solution de messagerie beaucoup plus robuste. Je l'utilise pour envoyer notre newsletter par email. Très fiable.

0

Essayez d'ajouter à la fin de 'De: ...'. Cet email devrait être une adresse e-mail réelle sur le serveur. Essayez de vérifier votre dossier de spam avec ce que vous avez.

Questions connexes