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/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);
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
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.
carlang... | Necesito ayuda para configurar email
| 05/2/2011 |
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
educhip | Enviar correo masivo
| 28/9/2011 |
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.