Imagen en mails

Estoy usando php para enviar un correo electrónico con formato html. ¿Es posible que ese correo contuviese una imagen? ¿cómo podría...

La FAQ Imagen en mails tiene

Pertenece a la categoría:

Pregunta
Estoy usando php para enviar un correo electrónico con formato html.


¿Es posible que ese correo contuviese una imagen?


¿cómo podría hacerlo, si se puede?


Respuesta de Sara Alvarez
La imagen deberia estar cargada en un servidor y se llama a la imagen mediante <img src="" > ,debe contener la ruta completa donde se encuentra la imagen. De este modo consigues que el email pese menos y que las imágenes no se filtren en el cliente de correo.




Y la segunda opción es que envies la imagen como adjunto y en ese caso creo que la ruta es solo el nombre de la imagen.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 4 comentarios a la faq
4 comentarios revisados:
Por: Andrés
14/1/06
Existe otra manera: no enviar el archivo con Content-Disposition: attachment sino con Content-Disposition: inline. O sea, que la imagen esté incrustada en el html y que el programa de correo no solicite permiso para descargarla sino que aparezca automáticamente. Este es un ejemplo básico de cómo hacerlo con php:
<?php
$attachment = array ("http://www.undominio.com.ar/unaimagen.jpg");
$message=’Return-Path: sender@email
Subject: This is the subject line
From: Andrés <sender@email>
X-Sender: <sender@email>
X-Mailer: PHP 4.3.11
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="Next_5CAC45F405A04C4486878BB22F052778"

This is a multi-part message in MIME format.

--Next_5CAC45F405A04C4486878BB22F052778
Content-Type: multipart/related;
boundary="Next_91B9A9555A93173413A5FBBB55300A3E"

--Next_91B9A9555A93173413A5FBBB55300A3E
Content-Type: text/html;
charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit

<img src="cid:unaimagen.jpg">

--Next_91B9A9555A93173413A5FBBB55300A3E
Content-Type: image/jpeg;
name="unaimagen.jpg"
Content-ID: <unaimagen.jpg>
Content-Disposition: inline;
filename="unaimagen.jpg"
Content-Transfer-Encoding: base64

’;
$attfile = $attachment[0];
$file_name = basename ($attfile);
$fp = fopen ($attfile, "r");
$fcontent = "";
while (!feof ($fp))
{
$fcontent .= fgets ($fp, 1024);
}
$fcontent = chunk_split (base64_encode($fcontent));
@fclose ($fp);
$message.=$fcontent;
$message.=’


--Next_91B9A9555A93173413A5FBBB55300A3E--

--Next_5CAC45F405A04C4486878BB22F052778--
’;
mail ("unmail@yahoo.com", ’hola’, ’’, $message);
}
?>

Por: Wendy Angulo
19/1/06
Para incluir una imagen en un correo. puedes poner el tag <img href="http://www.dominio.com/ruta_imagen">.
Pero para que el correo te lea el código html, tienes que asignar unos headers.
Por ejemplo:
$headers = "From: mail@mail.com " .'X-Mailer: PHP/' . phpversion() . " ";
$headers .= 'MIME-Version: 1.0' . " ";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . " ";

y pasar la variable $headers a la función mail:
mail($correo,$subject,$contenido,$headers);
Por: Farid
16/2/06
Complementando la respuesta que te dio Sara.

Para la etiqueta <img> tienes que poner la ruta colocando el dominio completo, ejemplo: <img src="http://www.desarrolloweb.com/pics/imagen_prueba.jpg">

Saludos,

farid bielma
http://fbielma.org
Por: John Jairo
27/2/06
Para enviar tu correo con imagenes lo que debes hacer es enviar tu correo como si estuvieras enviando una página web. Eso sí, ten cuidado con los enlaces de las imágenes para que te funcione y has varias pruebas enviandote el correo a ti mismo o a otra cuenta tuya.

Volver al árbol de categoríasVolver al árbol de categorías
Alojados en el grupo