Hola estoy haciendo un script para enviar un newsletter desde un sitio. El newsletter esta compuesto por un texto html que tiene una imagen. El problema es que si bien todo anda perfecto cuando mando a una casilla de gmail, cuando mando a una casilla de hotmail, el cuerpo y el attach llegan vacios (no muestra el cuerpo del mail y el attach ocupa 0 bytes). Esta es la parte del codigo encargada de mandar el mail:
$uid = md5(uniqid(time()));
$uidalt = md5(uniqid(time())."htmlalt");
$headers = "MIME-Version: 1.0
";
$headers .= "From: <$from>
";
$headers .= "Reply-To: <$from>
";
$headers .= "Return-path: <$from>
";
$headers .= "Message-ID: <".time()."-".$from.">
";
$headers .= "X-Mailer: PHP v".phpversion()."
";
$headers .= "Content-type: multipart/related; boundary=$uid";

//inicio del cuerpo
$texto .= "--$uid
";
$texto .= "Content-Type: multipart/alternative; boundary=$uidalt

";
//version texto plano
$texto .= "--$uidalt
";
$texto .= "Content-type: text/plain; charset=iso-8859-1
";
$texto .= "Content-Transfer-Encoding: quoted-printable

";
$texto .= imap_8bit("[CADENA TEXTO PLANO]")."

";
//version html
$texto .= "--$uidalt
";
$texto .= "Content-type: text/html; charset=iso-8859-1
";
$texto .= "Content-Transfer-Encoding: quoted-printable

";
//$texto .= "Content-Disposition: inline
";
$texto .= imap_8bit("[CADENA HTML INCLUYENDO IMG DEL ATTACH]");
$texto .= "--$uidalt--
";
//attach
$texto .= "--$uid
";
$texto .= "Content-type: image/jpeg; name="$nombrearchivo"
";
$texto .= "Content-Transfer-Encoding: base64
";
$texto .= "Content-disposition: attachment; filename="$nombrearchivo"
";
$texto .= "Content-ID: <$nombrearchivo>
";
$texto .= "X-Attachment-Id: $nombrearchivo

";
$texto .= "$archivocodificadoabase64";
$texto .= "
--$uid--";
ini_set ("sendmail_path", "/opt/exim/bin/exim -t -i -f $from");
mail($destinatario, $tema, $texto, $headers);

Les repito: si mando a gmail anda perfecto, si mando a hotmail no me muestra el contenido. Cualquier ayuda es bienvenida. Gracias

Pertenece a la categoría:

La mejor respuesta elegida por los usuarios

Respuesta de Esteban Grasso
Me acabo de dar cuetna que en la publicacion de mi pregunta, todos los \ n \ r (o saltos de linea) fueron cambiados por saltos de linea. O sea: que donde dice:
"$texto .= "X-Attachment-Id: $nombrearchivo

";"
en realidad es:
"$texto .= "X-Attachment-Id: $nombrearchivo \ n \ r"; " (sin los espacios claro....)

Dinos si es buena respuesta: Buena respuesta (4)    Buena respuesta (6)