Foros del Web » Programando para Internet » PHP »

Multiple or malformed newlines found in additional_header

Estas en el tema de Multiple or malformed newlines found in additional_header en el foro de PHP en Foros del Web. Buenos días, Tengo este código que ha estado funcionando bien hasta que he migrado de hosting. Código HTML: function enviar_email($filename, $mailto, $from_mail, $from_name, $replyto, $subject, ...
  #1 (permalink)  
Antiguo 15/02/2016, 03:54
 
Fecha de Ingreso: febrero-2016
Mensajes: 2
Antigüedad: 8 años, 2 meses
Puntos: 0
Multiple or malformed newlines found in additional_header

Buenos días,
Tengo este código que ha estado funcionando bien hasta que he migrado de hosting.

Código HTML:
function enviar_email($filename,  $mailto, $from_mail, $from_name, $replyto, $subject, $message, $email_tienda) 
{
	$copia = "[email protected]";
	if(strcmp($filename,"") !== 0)
	{
		$file = $filename;
		$file_size = filesize($file);
		$handle = fopen($file, "r");
		$base64 = fread($handle, $file_size);
		fclose($handle);
		unlink($file);
	}
    $content = chunk_split(base64_encode(str_replace('data:image/png;base64,','',$base64)));
    $uid = md5(uniqid(time()));
    $name = basename($file);
    $header = "From: ".$from_name." <".$from_mail.">\r\n";
    $header .= "Reply-To: ".$replyto."\r\n";
    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
    $header .= "This is a multi-part message in MIME format.\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-type:text/html; charset=utf-8\r\n";
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $header .= $message."\r\n\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-Type: application/octet-stream; name=\"".'imagen.png'."\"\r\n"; // use different content types here
    $header .= "Content-Transfer-Encoding: base64\r\n";
    $header .= "Content-Disposition: attachment; filename=\"".'imagen.png'."\"\r\n\r\n";
    $header .= $content."\r\n\r\n";
    $header .= "--".$uid."--";
    if (mail("$mailto,$copia", $subject, "", $header)) 
	{
	   mail($email_tienda, $subject, "", $header);
       return true; // or use booleans here
    } else {
        return false;
    }
}

?>
No me envía el email y en el fichero de log de errores me aparece este mensaje:

PHP Warning: mail(): Multiple or malformed newlines found in additional_header in...

Que hace referencia a esta linea:

Código:
 if (mail("$mailto,$copia", $subject, "", $header)) 
	{
	   mail($email_tienda, $subject, "", $header);
       return true; // or use booleans here
    } else {
He probado en eliminar $header quedando así

Código:
 if (mail("$mailto,$copia", $subject, "")) 
	{
	   mail($email_tienda, $subject, "");
       return true; // or use booleans here
    } else {
Y si funciona, pero evidentemente no me manda el contenido del email. ¿Qué puede ser lo que falla?
  #2 (permalink)  
Antiguo 15/02/2016, 04:23
 
Fecha de Ingreso: febrero-2016
Mensajes: 2
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Multiple or malformed newlines found in additional_header

AÑADO:

He probado en quitar los \r y \n del final de las lineas y los emails los manda, pero en código HTML.

Etiquetas: buenos, estado, html
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 13:07.