tengo el siguiente codigo para envio de correo con adjuntos y todo me funcionaba perfecto enphp4; pero mi proveedor de hosting migro a php y comenzaron las fallas.
actualmente cuando envio elcorreo a gmail me llega perfecto, el problema es cuando lo envio a outlook q me llega distorcionado.. coloco codigo de envio de mail....
Código PHP:
function send_mail($emailaddress, $fromaddress, $emailsubject, $body, $attachments=false)
{
$eol="\r\n";
$mime_boundary='-----=' . md5( uniqid(rand())); //boundary para dividir los atachhments
$htmlalt_mime_boundary = $mime_boundary."_htmlalt"; //we must define a different MIME boundary for this section for the alternative to work properly in all email clients
# Common Headers
$headers .= 'From: Comunicaciones Kentron.com.ve<'.$fromaddress.'>'.$eol;
$headers .= 'Reply-To: Comunicaciones Kentron.com.ve<'.$fromaddress.'>'.$eol;
$headers .= 'Return-Path: Comunicaciones Kentron.com.ve<'.$fromaddress.'>'.$eol; // these two to set reply address
$headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters
# Boundry for marking the split & Multitype Headers
$headers .= 'MIME-Version: 1.0'.$eol;
$msg = "";
if ($attachments !== false)
{
$headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol; //declaro en el HEADER esto para que funcionen los atacchments
for($i=0; $i < count($attachments); $i++)
{
if ($attachments[$i]["file"]!='')
{
//echo "B";
# File for Attachment
$file_name = $attachments[$i]["file"];
$f_contents=$attachments[$i]["content"];//
$f_contents=chunk_split(base64_encode($f_contents)); //Encode The Data For Transition using base64_encode();
# Attachment
$msg .= "--".$mime_boundary.$eol; //antes de cada attachment declaro el tipo divisor
$msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;
$msg .= "Content-Transfer-Encoding: base64".$eol;
$msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !!
$msg .= $f_contents.$eol.$eol;
}
}
$msg .= "--".$mime_boundary.$eol;///cierre del ultimo de los attachments
}
# Setup for text OR html -
$msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol; //abro el tipo alternativo para texto o html
# Text Version
$msg .= "--".$htmlalt_mime_boundary.$eol;
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
$msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$msg .= strip_tags(str_replace("<br>", "\n", $body)).$eol.$eol;
# HTML Version
$msg .= "--".$htmlalt_mime_boundary.$eol;
$msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;
$msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$msg .= $body.$eol.$eol;
//close the html/plain text alternate portion
$msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol; //cierro todos los alternativos
# Finished
$msg .= "--".$mime_boundary."--".$eol.$eol; //SIN ESTA LINEA FUNCIONA BIEN, CON ELLA DA PROBLEMAS.
# SEND THE EMAIL
ini_set(sendmail_from,$fromaddress); // the INI lines are to force the From Address to be used !
mail($emailaddress, $emailsubject, $msg, $headers);
ini_restore(sendmail_from);
} //termina la funcion send_mail
y el correo me llega mas o menos asi:
Cita:
y deberia llegar asi: Estimado Usuario:
Empresa: xxxx
E-mail: [email protected]
Le informamos que se acaba de registrar exitosamente un incidente bajo el nombre de su empresa.
El número del incidente es: 505897
Fecha:21/09/2010
Producto: SOWEB
Módulo: Agregar
Ventana:
Versión:
Descripción: prueba
Archivos Anexos:
INFORMACIÓN IMPORTANTE DE xxxxx
---------------------------------
---------------------------------
Atentamente
Coordinación de Atención al Cliente.
Sistemas de Información.
http://www.kentron.com.ve
Teléfonos: (58-212) xxx-xxxx, xxx-xxxx, xxx-xxxx
Fax: (58 212) xxx-7xxx
E-mail: [email protected]
-------=b3dc532cca3cf3c362d90eb1d54e3d2c_htmlalt
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
<em>Estimado Usuario:</em><br>
Empresa: xxxxxx <br>
E-mail: [email protected] <br><BR>
Le informamos que se acaba de registrar exitosamente un incidente bajo el nombre de su empresa. <br><br>
El número del incidente es: 505897 <BR>
Fecha:21/09/2010<br>
Producto: SOWEB<br>
Módulo: Agregar<br>
Ventana: <br>
Versión: <br>
Descripción: prueba<br>
Archivos Anexos: <br><br>
INFORMACIÓN IMPORTANTE DE xxxx<br>
---------------------------------<br>
<br>
--------------------------------- <br>
Atentamente<br>
Coordinación de Atención al Cliente.<br>
Kentron Sistemas de Información.<br>
http://www.kentron.com.ve<br>
Teléfonos: (58-212) xxx-xxxx, xxx-xxxx, xxx-xxxx<br>
Fax: (58 212) 7xx-xxxx<br>
E-mail: [email protected]
-------=b3dc532cca3cf3c362d90eb1d54e3d2c_htmlalt--
Empresa: xxxx
E-mail: [email protected]
Le informamos que se acaba de registrar exitosamente un incidente bajo el nombre de su empresa.
El número del incidente es: 505897
Fecha:21/09/2010
Producto: SOWEB
Módulo: Agregar
Ventana:
Versión:
Descripción: prueba
Archivos Anexos:
INFORMACIÓN IMPORTANTE DE xxxxx
---------------------------------
---------------------------------
Atentamente
Coordinación de Atención al Cliente.
Sistemas de Información.
http://www.kentron.com.ve
Teléfonos: (58-212) xxx-xxxx, xxx-xxxx, xxx-xxxx
Fax: (58 212) xxx-7xxx
E-mail: [email protected]
-------=b3dc532cca3cf3c362d90eb1d54e3d2c_htmlalt
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
<em>Estimado Usuario:</em><br>
Empresa: xxxxxx <br>
E-mail: [email protected] <br><BR>
Le informamos que se acaba de registrar exitosamente un incidente bajo el nombre de su empresa. <br><br>
El número del incidente es: 505897 <BR>
Fecha:21/09/2010<br>
Producto: SOWEB<br>
Módulo: Agregar<br>
Ventana: <br>
Versión: <br>
Descripción: prueba<br>
Archivos Anexos: <br><br>
INFORMACIÓN IMPORTANTE DE xxxx<br>
---------------------------------<br>
<br>
--------------------------------- <br>
Atentamente<br>
Coordinación de Atención al Cliente.<br>
Kentron Sistemas de Información.<br>
http://www.kentron.com.ve<br>
Teléfonos: (58-212) xxx-xxxx, xxx-xxxx, xxx-xxxx<br>
Fax: (58 212) 7xx-xxxx<br>
E-mail: [email protected]
-------=b3dc532cca3cf3c362d90eb1d54e3d2c_htmlalt--
Cita:
Estimado Usuario Administrador:
Empresa: xxxxx
E-mail: [email protected]
Le informamos que se acaba de registrar un incidente bajo el número: 502965 y fue registrado por: [email protected]. Con las siguientes especificaciones:
Fecha:21/09/2010
Producto: SOWEB
Módulo: SOWEB
Ventana:
Versión:
Descripción: prueba de gmail
Archivos Anexos:
INFORMACIÓN IMPORTANTE DE xxxx
---------------------------------
---------------------------------
Atentamente
Coordinación de Atención al Cliente.
Sistemas de Información.
http://www.kentron.com.ve
Teléfonos: (58-212) xxx-xxxx, xxx-xxxx, xxx-xxxx
Fax: (58 212) 7xx-xxxx
E-mail: [email protected]
Empresa: xxxxx
E-mail: [email protected]
Le informamos que se acaba de registrar un incidente bajo el número: 502965 y fue registrado por: [email protected]. Con las siguientes especificaciones:
Fecha:21/09/2010
Producto: SOWEB
Módulo: SOWEB
Ventana:
Versión:
Descripción: prueba de gmail
Archivos Anexos:
INFORMACIÓN IMPORTANTE DE xxxx
---------------------------------
---------------------------------
Atentamente
Coordinación de Atención al Cliente.
Sistemas de Información.
http://www.kentron.com.ve
Teléfonos: (58-212) xxx-xxxx, xxx-xxxx, xxx-xxxx
Fax: (58 212) 7xx-xxxx
E-mail: [email protected]
Gracias