2010-03-26 13 views
8

Estoy enviando un correo electrónico html con php e incluye una imagen. Algunos programas de correo electrónico, como gMail, tienen el botón "mostrar imágenes". El usuario tiene que hacer clic en eso para que aparezcan las imágenes en el correo electrónico.¿Cómo puedo forzar a los programas de correo electrónico para que muestren las imágenes enviadas en html usando php?

¿Hay alguna manera en que pueda forzar a los programas de correo electrónico a mostrar las imágenes que se envían dentro de los correos electrónicos html generados por php?

+5

Puedes intentar crear las imágenes usando arte ASCII ... – JohnFx

+1

Puede intentar la conversión de imagen a HTML y usar ese html en su lugar. Pero tiene algunas limitaciones, como el tamaño del archivo html, el patrón de color, etc. Pruebe este enlace http://pgl.yoyo.org/img2html/ –

Respuesta

14

Como regla general, los clientes de correo electrónico están configurados para mostrar imágenes adjuntas por defecto (por ejemplo, aquellos con un esquema cid: URI) y no cargar imágenes remotas (que pueden incluir información de seguimiento).

Si adjunta todas las imágenes, generalmente las mostrará (al tiempo que inflará el uso del ancho de banda SMTP junto con el de los destinatarios (lo que puede hacer que no sea popular)).

2

No, no puede obligar a los programas que usted no escribió a hacer nada.

+3

¿Por qué se ha votado? Tengo el mismo problema con los programas que _dije_ escribir yo mismo :) –

1

Duda, sería un problema de seguridad si el 'src' de una imagen abriera un ataque de scripting cross-site.

Cross site request forgery

Los clientes de un banco en México fueron atacados a principios de 2008 con una etiqueta de imagen en el correo electrónico y fueron enviados a través de sus routers domésticos a la sitio equivocado.

4

Me temo que no. La razón principal por la que los programas de correo electrónico bloquean imágenes se debe a que las imágenes a menudo se utilizan para "informar" a quien envió el correo electrónico que se abrió. Esta es una táctica común utilizada por los spammers. Además, el código malicioso a menudo se adjunta a las imágenes y la descarga de estas imágenes es la forma en que se ejecuta dicho código. Otra razón por la que los programas de correo electrónico bloquean imágenes.

+3

Existen muchas razones legítimas para querer saber si también se abrió un correo electrónico. Muchas empresas lo utilizan para mejorar la calidad de sus boletines electrónicos. – VirtuosiMedia

2

El correo electrónico es enorme variable y, en general, verá diferentes resultados en diferentes lugares. Dicho esto: no hay una forma general de obligar a un cliente de correo electrónico a mostrar imágenes; Esta es la razón por la que la mayoría de los correos electrónicos ahora incluyen un enlace en la parte superior que indica que si no se muestra correctamente, el usuario debe hacer clic en él (lo que lleva al usuario a una página HTML estándar fuera de la imagen del cliente de correo electrónico/javascript/todo-else- bloqueo de agarre).

Menciona específicamente gmail, por lo que vale la pena señalar que si incrusta (URI de CID) las imágenes que no se mostrarán en línea, se mostrarán como archivos adjuntos en la parte inferior del mensaje.

0

El último lugar donde trabajé, estábamos enviando correos electrónicos que tenían imágenes en ellos que aparecerían automáticamente, al menos en perspectiva, sin tener que hacer clic explícitamente en un botón de mostrar imágenes.

Cuando pregunté, otro desarrollador explicó que simplemente copiaron el bloque codificado de la imagen de un correo electrónico ya enviado en el cuerpo del correo electrónico. Creo que esto puede ser una especie de solución extraña con la que tropezaron. No sé si esto agrega más peso que un archivo adjunto, pero pude ver cómo un lector de correo electrónico podría ver un archivo adjunto y luego preguntarle al usuario en lugar de leerlo en el cuerpo y simplemente mostrarlo ...

Cuestiones relacionadas