2011-08-28 17 views
38

Actualmente estoy enviando correos con formato html desde la función de correo de PHP() y comprobándolos simplemente para asegurarme de que se muestran como HTML (formateándolos a un lado, Soy muy consciente de que el formato variará (probablemente de forma drástica) de cliente a cliente). Se muestran como HTML en el cliente de Apple Mail, así como en mi iPhone. Sin embargo, Gmail simplemente se niega a mostrarlo como HTML como todos. Y con eso no me refiero a que está formateado incorrectamente, simplemente no está usando HTML, parece.El correo electrónico con formato HTML no aparece en Gmail pero está en otros clientes de correo

La parte extraña es que se está cargando un img de una etiqueta, pero eso es todo ... ¿es que estoy usando principalmente divs para el diseño y eso es demasiado nuevo para Gmail o algo así (frente a las tablas)?

En cuanto a CSS y lo que no pasa, viendo la fuente cruda muestra lo siguiente:

<html><head><style>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; } </style></head><body><div id="container"><div id="header"><a href="http://appname.local/login/">Login</a></d 
iv><div style="clear: both;"></div><div id="mainBody"><h1>Hi Josh Holat!</h1>You've sent a request to <strong>reset</strong> your appname password. Just click the link below <em>(or copy and paste it into your browser)</em> and follow the instructions to set a new password. The link will expire in one hour.<br/><br/><a href="http://appname.local/sb/reset-password/?r=2768af61698fcde9c04f9449351575d6bfe6d720">http://appname.local/sb/reset-password/?r=2768af61698fcde9c04f9449351575d6bfe6d720</a><br/><br/>If you feel this request was submitted in error, don't worry; you can safely ignore this e-mail and your password will not be changed.<br/><br/>Much Love,<br/>Us</div><!-- #mainBody --><div id="footer"><img src="http://appname.local/images/email/footer_sb.png" /><p>&copy; 2011 appname, Inc. All Rights Reserved <a href="http://appname.local/sb/legal/">Legal</a><a href="http://appname.local/sb/contact/">Contact</a><a href="http://s 
tagebloc.local/sb/developers/">Developers</a><a href="http://appname.local/sb/blog/">Blog</a></p></div><!-- #footer --></div><!-- #container --></body></html> 

Así como:

Delivered-To: [email protected] 
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: <[email protected]> 
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 [email protected]) 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 [email protected]) [email protected] 
Received: by joshholat.local (Postfix, from userid 70) 
    id 775063662E01; Sun, 28 Aug 2011 16:29:06 -0500 (CDT) 
To: Josh Holat <[email protected]> 
Subject: Password Reset Request 
X-PHP-Originating-Script: 501:Email.php 
From: appname <[email protected]> 
Content-type: text/html 
Message-Id: <[email protected]> 
Date: Sun, 28 Aug 2011 16:29:06 -0500 (CDT) 

estoy confundido en cuanto a por qué los clientes de terceros haría lo muestra bien pero Gmail simplemente lo ignora?

+0

¿Se puede publicar toda la fuente (incluidos los encabezados) de uno de sus mensajes? –

+0

Tu HTML-ejemplo termina después de la apertura '' -tag ... – feeela

+0

Agregué todos los encabezados, así como el resto del código HTML – joshholat

Respuesta

67

Gmail no es compatible con la etiqueta <style>. Debe usar css en línea para que gmail funcione correctamente.

Aquí hay una lista de referencias. http://www.campaignmonitor.com/css/

+13

¿De verdad? Guau. Eso es bastante malo ... Gracias por el enlace. – joshholat

+6

¡Guau, es increíble ver un soporte tan malo de Gmail, que es uno de los servicios de correo electrónico más populares! Apple Mail y Android 4 (Gmail) parecen estar muy adelantados con el soporte. ¡Estoy realmente sorprendido por Gmail! –

+0

Ejecutando su HTML a través de [esta biblioteca] (https://github.com/tijsverkoyen/CssToInlineStyles) antes de enviarlo por correo eliminará los estilos de su cabeza y los analizará en línea. –

2

Veo que estás usando un ID llamado #footer. Parece que Google no reconoce ese nombre cuando se trata de correos. Observe que en el código de fuente que se ve en gmail, toda su identificación puede aparecer con "exc" + idName, excepto #footer. Intenta usar un nombre diferente.

Cuestiones relacionadas