Foros del Web » Programando para Internet » PHP »

Logo insertado en email

Estas en el tema de Logo insertado en email en el foro de PHP en Foros del Web. Saludos a la comunidad: Hace unos días tuve problemas con la elaboración/modificación de un script para envío de correo tomando como base dos scripts, uno ...
  #1 (permalink)  
Antiguo 11/04/2008, 09:16
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 17 años
Puntos: 0
Pregunta Logo insertado en email

Saludos a la comunidad:

Hace unos días tuve problemas con la elaboración/modificación de un script para envío de correo tomando como base dos scripts, uno donde envía un archivo adjunto y otro donde agrega un logotipo.

He tratado de hacer la fusión de ambos pero con resultados un tanto no favorables, al principio me mostraba el logo pero no la información y el adjunto, luego se mostraba la info pero no el logo y asi sucesivamente...

Ahora, ya puedo mostrar el logo, la info y el adjunto pero con un detalle, antes del logo me muestra Content-type: imagen/jpg.

Si le quito esa línea en la parte del mensaje me muestra todo el código o me pone el logo junto con con el texto como si fuera otro archivo adjunto.

Este es el código que tengo para que me orienten:

Cita:
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
$sCabeceras = "Content-type: text/html; charset=utf-8\r\n";
if ($sDe)$sCabeceras .= "From: Nombre_empresa<".$sDe.">\n";
else $sCabeceras .= "";
$sCabeceras .= "MIME-version: 1.0\n";
$cuenta=0;

//************************************************** ****************

$sCabeceraTexto = "----_Separador-de-imagen_--\n";
$sCabeceraTexto = "Content-type: imagen/jpg";
$logo = "<img src='http://www.dominio.com/jpgs/logo.jpg' height='70'><BR><BR>";
$sCabeceraTexto .= $logo;
$sTexto = $sTexto.$sCabeceraTexto;

//************************************************** *****************/

foreach ($_POST as $sNombre => $sValor)
{
if($cuenta==3){$sTexto = $sTexto."\n".$sValor; }
$cuenta=$cuenta+1;
}
foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/html; charset=utf-8\r\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";

return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
Espero sus comentarios.
  #2 (permalink)  
Antiguo 11/04/2008, 09:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Logo insertado en email

Hola indy1508,

Te recomendaría que usaras la clase PHPMailer, ya que se encarga de hacer las codificaciones por ti, y aparte tiene métodos para agregar directamente la imagen dentro del correo.

Saludos.
  #3 (permalink)  
Antiguo 11/04/2008, 09:58
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 17 años
Puntos: 0
Re: Logo insertado en email

Gracias GatorV:

Esa clase la tengo la tengo que configurar de forma local, también tendría que hacer alguna modificación en el host?

Saludos.
  #4 (permalink)  
Antiguo 11/04/2008, 11:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Logo insertado en email

Solo configurar la dirección al servidor SMTP.

Saludos.
  #5 (permalink)  
Antiguo 11/04/2008, 16:17
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 17 años
Puntos: 0
Re: Logo insertado en email

Ok, voy a configurar PHPMailer.

Saludos.
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 12:22.