Foros del Web » Programando para Internet » PHP »

Cid

Estas en el tema de Cid en el foro de PHP en Foros del Web. Compañeros Tengo un problema que no puedo descifrar. Estoy usando la clase PHPMAILER, para enviar correos con una imagen en el cuerpo del mensaje, por ...
  #1 (permalink)  
Antiguo 02/07/2010, 20:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Cid

Compañeros

Tengo un problema que no puedo descifrar.

Estoy usando la clase PHPMAILER, para enviar correos con una imagen en el cuerpo del mensaje, por lo cual uso el famoso CID de la imagen.

1- Si armo el cuerpo del mensaje en la misma página llega correctamente, pero...

2- si lo armo en una variale de sesion en otro script (con el fin de guardar el cuerpo del mensaje y dar la posibilidad de reutilizarlo) cuando uso dicha variable en el script de envío no llega.

Obviamente el código del mensaje html en los casos 1 y 2 son exactamente iguales

Por favor ¿alguien me puede ayudar?

Gracias de antemano.
  #2 (permalink)  
Antiguo 02/07/2010, 21:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Cid

será que no has iniciado la sesión llamando a session_start?, si muestras parte del código es mejor ayudarte
  #3 (permalink)  
Antiguo 02/07/2010, 22:39
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Cid

Acá se genera el mensaje y se almacena

Código PHP:
$CabeceraHtml "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
'http://www.w3.org/TR/html4/loose.dtd'><html><head><title>$asunto</title>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'></head><body>"
;
$CierreCabeceraHtml "</body></html>";
$logo "<tr ><td><img alt='logo' src='cid:logo' width='150px' height='75px' /></td></tr>";                   
$CuerpoMensaje $salida1.$salida2.$logo.$salida3.$parrafos.$postdata;              
$_SESSION['mensaje']  = $CabeceraHtml.$CuerpoMensaje.$CierreCabeceraHtml

En el mismo script se llama al metodo de envio, en otro archivo:

Código PHP:
        function circularEmision($asunto$nombre$email){
                
                                
$this->emailNombre "algo";
                
$this->emailDesde "[email protected]";
                
                
//armo cuerpo mensaje
                /*$CabeceraHtml = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
                'http://www.w3.org/TR/html4/loose.dtd'><html><head><title>$asunto</title>
                <meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'></head><body>";
                $CierreCabeceraHtml = "</body></html>";
                $logo = "<tr ><td><img alt='logo' src='cid:logo' width='150px' height='75px' /></td></tr>";                   
                $CuerpoMensaje = $_SESSION['salidaInicioEmailNotificacionBaja'].$logo.$_SESSION['salidaFinalEmailNotificacionBaja'];                  
                $cuerpoMensaje = $CabeceraHtml.$CuerpoMensaje.$CierreCabeceraHtml;*/
                
                
$r=$this->EnviarCorreo($asunto$nombre $email$_SESSION['mensaje']);
                if (
$r)    $msg =  "$asunto enviada a <br> <b>$nombre</b> - Email: <b>$email</b>";
                   else 
$msg =  "ERROR !!!! <BR> EL CORREO NO PUDO SER ENVIADO A <b>$nombre</b> <br> Email: <b>$AEmail</b> <br>    VERIFICAR DIRECCION DE EMAIL Y CONEXION A INTERNET. <BR>";
                return 
$r;
            }
        
            function 
EnviarCorreo($AsuntoIn$to_name$to_email$mensaje)    {
                 
$mail = new PHPMailer();
                 
$mail->IsSMTP();                            // set mailer to use SMTP
                 
$mail->Host "smtp.algo.com";        // specify main and backup server
                 
$mail->SMTPAuth true;                        // turn on SMTP authentication
                 
$mail->Username "[email protected]";    // SMTP username
                 
$mail->Password "algo";            
                 
$mail->From     $this->emailDesde;
                 
$mail->FromName $this->emailNombre;
                 
$mail->AddAddress($to_email,$to_name);
                 
$mail->AddReplyTo($from_email,$from_name);
                 
$mail->IsHTML(true);
                 
$mail->Subject  =  $AsuntoIn;    
                 
$mail->AddEmbeddedImage("../images/logo.png","logo","logo.png");
                 
$mail->Body     =  $mensaje;
                 
//return true;
                 
return $mail->Send();
            } 
Las lineas comentadas corresponde al armado del mensaje que funciona bien, pero si quiero que funcione tal como está el código ahora, no lo hace, la imagen no llega.

Gracias de antemano!!

Etiquetas: Ninguno
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 11:36.