2009-05-05 7 views
1

Quand je veux envoyer des courriels, mes codes ressemblent à ceux-ci:Qu'est-ce à inclure dans les en-têtes de messagerie, en utilisant php mail()?

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

// Email Variables 
$toUser = '[email protected]'; 
$subject = "Testing"; 
$body = '<html><head><title></title></head><body> 
      This is my picture <img src="http://domain.com/me.jpg">'; 

if(mail($toUser,$subject,$body,$headers)){ 
    echo "Email sent!!"; 
} 

Voici mes questions:

  1. Dois-je inclure les balises <html>, <head>, <title>...? Puis-je utiliser une feuille de style? Par exemple, <div style="...">?
  2. J'ai testé envoyer l'e-mail à plusieurs comptes, si j'inclue la balise <img> (pour inclure l'image), il va à des pourriels, mais si tout simplement le texte, il va à la boîte de réception. Quelqu'un a une idée de pourquoi c'est? Et comment le résoudre?

Répondre

0
  1. Non, certains clients de messagerie (en particulier les webmails) dépouillera quoi que ce soit avant <body>
  2. Vous pouvez utiliser les styles en ligne <div style=""> - en utilisant un fichier .css externe n'est pas recommandé car il ne peut pas être chargé.
  3. Si vous n'avez qu'un peu de texte et une image, cela ressemble beaucoup à du spam. Si vous aviez plus de texte, il pourrait être traité différemment.
1

Vous devez également envoyer votre e-mail sous la forme multipart avec une partie text/plain.

Cela permettra aux gens avec des clients de messagerie texte seulement de le lire, et aussi compter en votre faveur avec tous les systèmes de détection de spam.

0

Le problème avec css dans le courrier est que (encore une fois) n'est pas standard dans tous les services de messagerie

ici trouveront un descripction complet

http://www.campaignmonitor.com/css/

Questions connexes