2010-01-24 3 views
2

J'utilise PEAR pour envoyer des emails HTML depuis mon site web. Mes e-mails sont envoyés, mais ils ne sont pas formatés selon le CSS lorsqu'ils sont affichés dans Hotmail/Yahoo/GMail. Quand je les vois dans Windows Live MAil, ils ont fière allure. Pour être plus précis, il semble que le CSS ne soit pas pris en compte (format texte, images de fond, etc.).PEAR MAIL HTML email pas bien formaté en Hotmail/Yahoo/GMail

Voici le code que j'utilise pour envoyer l'e-mail:

$headers = array('From' => $from, 'Subject' => $subject, 'To' => $to); 

require_once 'Mail.php'; 
require_once 'Mail/mime.php'; 

$crlf = "\n"; 

$mime = new Mail_mime($crlf); 
$mime->setTXTBody($plainText); 
$mime->setHTMLBody($htmlText); 

$body = $mime->get(); 
$headers = $mime->headers($headers); 

$mail = Mail::factory("mail"); 
$send = $mail->send($to, $headers, $body); 
if (PEAR::isError($send)) { 
    $mail_sent = 0; 
}else { 
    $mail_sent = 1; 
} 

Dois-je inclure Content-Type dans l'en-tête? J'ai essayé mais ça n'a pas aidé.

$ htmlText est une variable contenant mon code HTML. Le style est intégré dans le code HTML (non lié à un fichier CSS).

Si quelqu'un peut me faire savoir pourquoi mon email n'est pas formaté dans les clients Web, je serais reconnaissant.

Merci beaucoup,

Ziv

Répondre

3

Vous ne pouvez utiliser des règles de style très simples mails, et il doit être spécifié en ligne et non dans une feuille de style intégré. Vous pouvez lire beaucoup d'informations ici:

http://www.anandgraves.com/html-email-guide

+0

Merci pour la réponse rapide, c'était très utile. J'ai encore quelques problèmes, mais je suppose que tout est à l'épreuve. Merci encore. –

1

Il est préférable de présumer que les clients de messagerie prennent en charge que les styles en ligne et des images au plus.

Questions connexes