En ce qui concerne format direct, je l'ai toujours fait CSS en ligne le style, cependant j'utilise SwiftMailer (http://swiftmailer.org/) pour PHP5 pour gérer les fonctionnalités de messagerie et cela m'a énormément aidé.
Vous pouvez envoyer des messages en plusieurs parties avec des formats différents. Ainsi, si le client de messagerie n'aime pas la version HTML, vous pouvez toujours utiliser la version texte par défaut.
Dans votre dossier "views", vous pouvez définir des routes différentes pour les différents formats de courrier électronique (j'utilise également smarty, d'où l'extension .tpl). Voici ce qu'est une fonction SwiftMailer typique :: sendTemplate() ressemblerait quand vous configurez les modèles:
$email_templates = array('text/html' => 'email/html/' . $template . '.en.html.tpl',
'text/plain' => 'email/text/' . $template . '.en.txt.tpl');
foreach ($email_templates as $type => $file) {
if ($email->template_exists($file)) {
$message->attach(new Swift_Message_Part($email->fetch($file), $type));
} elseif ($type == 'text/plain') {
throw new Exception('Could not send email -- no text version was found');
}
}
Vous avez l'idée. SwiftMailer a un tas d'autres bonnes choses, y compris le retour des adresses "non distribuables", la consignation des erreurs de livraison, et la limitation des gros lots de courrier électronique. Je vous suggère de vérifier.
Malheureusement, l'envoi de courrier électronique HTML sans alternative est perçu par de nombreux filtres anti-spam comme du spam. Pour réduire les chances de déclencher cela, vous devriez l'envoyer en plusieurs parties, avec une section comme texte/plain et l'autre comme texte/html. – staticsan