Foros del Web » Programando para Internet » PHP »

Mostrar imagenes en mail sin mostralas como attach

Estas en el tema de Mostrar imagenes en mail sin mostralas como attach en el foro de PHP en Foros del Web. Hola amigos foreros...me asalta una duda que llevo ya varios dias buscando y no he encontrado nada que me sirva..... tengo el siguiente codigo, para ...
  #1 (permalink)  
Antiguo 24/05/2005, 16:39
 
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 131
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Mostrar imagenes en mail sin mostralas como attach

Hola amigos foreros...me asalta una duda que llevo ya varios dias buscando y no he encontrado nada que me sirva.....
tengo el siguiente codigo, para enviar e-mail con imagenes adjuntas pero quisiera saber como hacer, para en lugar de adjuntarlas, meterlos directo como <img src...> pues he mirado el source de algunos e-mail con imagenes de un boletin de news al que estoy inscrito...pero no logo hacerlo...cualquiera yuda es buena....
Este es el codigo:
Código PHP:
<?
$UN_SALTO
="\r\n";
$DOS_SALTOS="\r\n\r\n";
$destinatario="[email protected]";
$titulo="Mensaje con imagenes adjuntas";
$mensaje="<html><head></head><body bgcolor=\"#0000ff\">";
$mensaje .="<font face=\"Arial\" size=6>Prueba HTML </font>";
$mensaje .="</body></html>";
$responder="[email protected]";
$remite="[email protected]";
$remitente="LSC. Freddy Gómez";

$separador "_separador".md5 (uniqid (rand())); 
  
$cabecera "Date: ".date("l j F Y, G:i").$UN_SALTO
$cabecera .= "MIME-Version: 1.0".$UN_SALTO
$cabecera .= "From: ".$remitente."<".$remite.">".$UN_SALTO;
$cabecera .= "Return-path: "$remite.$UN_SALTO;
$cabecera .= "Reply-To: ".$remite.$UN_SALTO;
$cabecera .="X-Mailer: PHP/"phpversion().$UN_SALTO;
$cabecera .= "Content-Type: multipart/mixed;".$UN_SALTO
$cabecera .= " boundary=$separador".$DOS_SALTOS

// Parte primera -Mensaje en formato HTML 
      # Separador inicial
$texto ="--$separador".$UN_SALTO
      
# Encabezado parcial
$texto .="Content-Type: text/html; charset=\"ISO-8859-1\"".$UN_SALTO
$texto .="Content-Transfer-Encoding: 7bit".$DOS_SALTOS
      
# Contenido de esta parte del mensaje
  
$texto .= $mensaje;
 
      
# Separador de partes

$adj1 $UN_SALTO."--$separador".$UN_SALTO

// Parte segunda -Fichero adjunto nº 1 

      # Encabezado parcial

$adj1 .="Content-Type: image/jpeg; name=\"casa08.jpg\"".$UN_SALTO;  
$adj1 .="Content-Disposition: inline; filename=\"leoncio.jpg\"".$UN_SALTO;
$adj1 .="Content-Transfer-Encoding: base64".$DOS_SALTOS

      
# lectura  del fichero adjunto  
      
$fp fopen("casa08.jpg""r"); 
           
$buff fread($fpfilesize("casa08.jpg")); 
       
fclose($fp); 
      
# codificación del fichero adjunto  
$adj1 .=chunk_split(base64_encode($buff)); 

      
# Separador de partes

$adj2 $UN_SALTO."--$separador".$UN_SALTO

// Parte tercera -Fichero adjunto nº 2 
      # Encabezado parcial

$adj2 .="Content-Type: image/jpeg; name=\"winzip90.jpg\"".$UN_SALTO;
$adj2 .="Content-Disposition: attachment; filename=\"winzip90.jpg\"".$UN_SALTO;
$adj2 .="Content-Transfer-Encoding: base64".$DOS_SALTOS

        
# lectura  del fichero adjunto  

      
$fp fopen("winzip90.jpg""r");
         
$buff fread($fpfilesize("winzip90.jpg"));
      
fclose($fp); 
        
# codificación del fichero adjunto  

$adj2 .=chunk_split(base64_encode($buff)); 

// separador final del mensaje 

$adj2 .=$UN_SALTO."--$separador".$UN_SALTO

// Unión de las diferentes partes para crear
   // el cuerpo del mensaje

  
$mensaje=$texto.$adj1.$adj2;
 
// envio del mensaje 
  
if( mail($destinatario$titulo$mensaje,$cabecera)){
    echo 
"mensaje enviado";
}
?>

Saludos..

Última edición por [email protected]; 24/05/2005 a las 17:53 Razón: cambiar titulo
  #2 (permalink)  
Antiguo 24/05/2005, 18:14
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
yo sulo poner las imagenes que uso en el mensaje en mi servidor y poner el path de la imagen de manera absoluta.

ej:

Código PHP:
$mensaje="<html><head></head><body bgcolor=\"#0000ff\">";
$mensaje .="<font face=\"Arial\" size=6>Prueba HTML </font>";
//
$mensaje .="<img src='http://www.miserver.com/imagen.gif'>";
//
$mensaje .="</body></html>"
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 24/05/2005, 18:21
 
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 131
Antigüedad: 14 años, 1 mes
Puntos: 0
Gracias por la opinion.....asi lo habia echo pero....me lo piden asi....
Gracias de todas formas.....
Alguna otra ayudita...
Saludos
  #4 (permalink)  
Antiguo 24/05/2005, 18:26
Avatar de Bill Gates  
Fecha de Ingreso: abril-2005
Ubicación: En el baño
Mensajes: 261
Antigüedad: 12 años, 8 meses
Puntos: 0
Yo tambien hago lo mismo de ponerla en forma absolutoa, pero lo que es hotmail y yahoo, en la parte de arriba salen como datos adjuntos y en la parte de abajo sale el boletin, como puedo eliminar eso.
__________________
MI CLANhttp://s5.bitefight.es/c.php?uid=86519]
  #5 (permalink)  
Antiguo 24/05/2005, 22:21
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
.. están enviando HTML... osease una página web... para mostrar una imágen hay que decirle la ruta donde de encuentra, entonces ó se encuentra adjunto en tu mail ó está en tu dominio... ó no está... claro .

... Igual lo mejor es hacerlo con ruta absoluta...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 25/05/2005, 09:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por mi parte te recomiendo usar la classe PHP Mailer .. solventa todos esos problemas.

Por ejemplo .. lo que requieres se trata de llamar a tus imagenes en tu HTML pero referenciadas a los archivos "attachados" que van junto tu e-mail (por su "cid" .. o así lo llama PHP Mailer):

http://phpmailer.sourceforge.net/

Fijate en su tutorial:
http://phpmailer.sourceforge.net/tutorial.html#3
apartado: "Inline Attachments"

Un saludo,
  #7 (permalink)  
Antiguo 25/05/2005, 12:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 131
Antigüedad: 14 años, 1 mes
Puntos: 0
Buena recomendacion!!!!
Gracias, utilize esta clase y era presisamente lo que necesito aunque el codigo que yo baje tenia un errorcito en el metodo de AddEmbeddedImage, corregi el $type ya que venia en application/octet-stream como default y no dejaba que se viera la imagen...
Despues ya todo bien...
Saludos
  #8 (permalink)  
Antiguo 03/06/2005, 18:30
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 13 años, 11 meses
Puntos: 2
Llevo hasta ahora 1 dia y me parece facil la clase PHPMailer pero como es eso de que tambien permite leer los mensajes, si alguien lo sabe, agradecería que me dijeran como hacerlo, eso es lo que me falta.....
__________________
Ahora T4X es
WinGFX!!!!!
  #9 (permalink)  
Antiguo 06/06/2005, 07:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por T4X
Llevo hasta ahora 1 dia y me parece facil la clase PHPMailer pero como es eso de que tambien permite leer los mensajes, si alguien lo sabe, agradecería que me dijeran como hacerlo, eso es lo que me falta.....
¿QUee? ..

La classe PHP Mailer -sólo- te ayudará a enviar tus mensajes (e-mails de todo tipo: en HTML, con archivos adjuntos .. etc) pero nada más .. NO accede a servidores POP/IMAP para leer los e-mails recibidos y procesarlo .. eso sería otras -classes- o funciones ..

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:49.