E-mail formaté HTML ne s’affichant pas du tout dans Gmail, mais hébergé par d’autres clients de messagerie

J’envoie actuellement des emails au format html à partir de la fonction mail () de PHP et je les vérifie simplement pour m’assurer qu’ils apparaissent au format HTML (mise à part de côté, je suis bien conscient que le formatage variera (probablement de façon drastique) du client au client) . Ils s’affichent en HTML dans le client Apple Mail ainsi que sur mon iPhone. Cependant, Gmail refuse tout simplement de l’afficher en tant que HTML. Et par cela je ne veux pas dire que le format n’est pas correct, il ne fait tout simplement pas appel au HTML, il apparaît.

La partie étrange est qu’un img d’une balise est en cours de chargement, mais c’est à peu près tout … est-ce que j’utilise principalement des divs pour la mise en page et c’est trop nouveau pour Gmail ou quelque chose (vs tables)?

En ce qui concerne CSS et ce qui ne va pas, l’affichage de la source brute montre ce qui suit:

body { background-color: #F2F2F2; font-family: Arial; color: #5C5C5C; font-size: 11pt; } a { color: #46AAFF; text-decoration: none; } #container { width: 750px; margin-right: auto; margin-left: auto; } #header { float: right; padding: 3px; height: 30px; } #header a { color: #666666; margin-right: 10px; } #mainBody { padding: 20px; background-color: #FFF; border: 1px solid #DADADA; border-radius: 3px; } #imageArea { border-top: solid #E8E8E8 1px; margin: 15px; } #singleImageArea { width: 250px; padding: 15px; } #singleImageArea p { float: right; line-height: 30px; width: 130px; margin-top: 20px; } #footer { padding: 10px; color: gray; } #footer p { text-shadow: 0px 2px #FFF; font-size: 10pt; } #footer a { color: #ADADAD; float: right; padding-left: 20px; padding-right: 20px; } #footer img { width: 35px; height: 23px; padding: 10px; float: left; } 

Aussi bien que:

  Delivered-To: appname@gmail.com Received: by 10.229.40.2 with SMTP id i2cs133298qce; Sun, 28 Aug 2011 14:29:08 -0700 (PDT) Received: by 10.42.152.199 with SMTP id j7mr4419937icw.417.1314566947950; Sun, 28 Aug 2011 14:29:07 -0700 (PDT) Return-Path:  Received: from joshholat.local (arh2281.urh.uiuc.edu [130.126.70.193]) by mx.google.com with ESMTP id w3si6800550icz.109.2011.08.28.14.29.06; Sun, 28 Aug 2011 14:29:06 -0700 (PDT) Received-SPF: neutral (google.com: 130.126.70.193 is neither permitted nor denied by best guess record for domain of _www@joshholat.local) client-ip=130.126.70.193; Authentication-Results: mx.google.com; spf=neutral (google.com: 130.126.70.193 is neither permitted nor denied by best guess record for domain of _www@joshholat.local) smtp.mail=_www@joshholat.local Received: by joshholat.local (Postfix, from userid 70) id 775063662E01; Sun, 28 Aug 2011 16:29:06 -0500 (CDT) To: Josh Holat  Subject: Password Reset Request X-PHP-Originating-Script: 501:Email.php From: appname  Content-type: text/html Message-Id:  Date: Sun, 28 Aug 2011 16:29:06 -0500 (CDT) 

Je ne comprends pas pourquoi les clients tiers le montreraient bien, mais Gmail l’ignore simplement?

Gmail ne prend pas en charge la

. Vous devez utiliser css inline pour que gmail fonctionne correctement.

Voici une liste de référence. http://www.campaignmonitor.com/css/

GMail ne prend pas en charge les balises

et un certain nombre de clients non plus. Pour vous simplifier la vie, vous pouvez utiliser convert pour convertir vos tags de style en CSS en ligne: http://beaker.mailchimp.com/inline-css

Je vois que vous utilisez un identifiant nommé #footer. Il semble que Google ne reconnaisse pas ce nom lorsqu’il traite des mails. Notez que dans le code de police vu depuis gmail, tous vos identifiants peuvent apparaître avec “exc” + idName, sauf #footer. Essayez d’utiliser un autre nom.