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.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Andrés

14/1/2006
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);
}
?>

Wendy Angulo

19/1/2006
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);

Farid

16/2/2006
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

John Jairo

27/2/2006
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.

carlangassonorese

05/2/2011
Necesito ayuda para configurar email
Hola:

Quiero hacer un envío masivo a través de mi servidor y PHP pero no se como se configuran los codigos, alguien puede ayudarme y enseñarme? No importa que me cobren sus honorarios pero me urge, favor de contactarme directamente a mi correo polsin2000@hotmail.com

Gracias , saludos

Daniela

03/6/2011
Consulta URGENTE!!!!!
Hola les comento que estoy utilizando SendBlaster para envio de email masivos. Pero me bloquea la conexion de internet. Me deja navegar pero no enviar email. Yo envio los email desde info@empresa.com. Por favor podrian ayudarme. Gracias

adolfo

29/7/2011
envio a varios emails en php
Para realizar un multienvío, se hace una tabla en mysql de los correos a los que se quieran enviar el mensaje y luego mediante un bucle se repite la función mail para cada registro.

educhip

28/9/2011
Enviar correo masivo
Para enviar correo masivo no debes utilizar la funcion mail() ya que cuando se ejecuta abre y cierra una conexión al socket de smtp, por lo que sería lento, además es posible que tu servidor no te permita tantas llamadas seguidas al socket por lo que no te funcionaría.
Revisa los PEARS.PHP que disponen de una función para eso.
Saludos.

josemquintana

24/8/2013
Insertar imagen en el cuerpo del mensaje desde excel
Estoy intentando insertar la imagen incrustada en el cuerpo del mail pero desde Excel donde utilizo lenguaje VBA. Por favor, necesitaria que me expliquen como lo hago.
Gracias
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías