Foros del Web » Programando para Internet » PHP »

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

Estas en el tema de Warning: mail(): Multiple or malformed newlines found in additional_header en el foro de PHP en Foros del Web. Hola, tengo esta función en php function sendHTMLemail($HTML,$from,$to,$subject) { $eol = PHP_EOL; $headers = "From: $from".$eol; $headers .= "Reply-To: $from".$eol; $headers .= "Return-Path: $from".$eol; $headers ...
  #1 (permalink)  
Antiguo 01/09/2015, 11:59
 
Fecha de Ingreso: diciembre-2014
Mensajes: 60
Antigüedad: 9 años, 4 meses
Puntos: 1
Warning: mail(): Multiple or malformed newlines found in additional_header

Hola, tengo esta función en php

function sendHTMLemail($HTML,$from,$to,$subject) {
$eol = PHP_EOL;
$headers = "From: $from".$eol;
$headers .= "Reply-To: $from".$eol;
$headers .= "Return-Path: $from".$eol;
$headers .= "X-Mailer: PHP/" . phpversion();
$headers .= "MIME-Version: 1.0".$eol;
$boundary = uniqid("HTMLEMAIL");
$headers .= "Content-Type: multipart/alternative;".
"boundary = $boundary".$eol.$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;
$headers .= "--$boundary".$eol.
"Content-Type: text/plain; charset=UTF-8".$eol.
"Content-Transfer-Encoding: base64".$eol.$eol;
$headers .= chunk_split(base64_encode(strip_tags($HTML)));
$headers .= "--$boundary".$eol.
"Content-Type: text/html; charset=UTF-8".$eol.
"Content-Transfer-Encoding: base64".$eol.$eol;
$headers .= chunk_split(base64_encode($HTML));
mail($to,$subject,"",$headers);
}

la cual me arroja el siguiente mensaje...

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

Tengo entendido que por una actualización ya no se permite n/ ni r/
  #2 (permalink)  
Antiguo 01/09/2015, 12:24
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

elimina el mime y el boundary, con eso debe de funcionarte.
  #3 (permalink)  
Antiguo 01/09/2015, 12:44
 
Fecha de Ingreso: diciembre-2014
Mensajes: 60
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

Deje la funcion asi...

function sendHTMLemail($HTML,$from,$to,$subject) {
$eol = PHP_EOL;
$headers = "From: $from".$eol;
$headers .= "Reply-To: $from".$eol;
$headers .= "Return-Path: $from".$eol;
$headers .= "X-Mailer: PHP/" . phpversion();
$headers .= "Content-Type: multipart/alternative;".
"boundary = $boundary".$eol;
$headers .= "This is a MIME encoded message.".$eol;
$headers .= "--$boundary".$eol.
"Content-Type: text/plain; charset=UTF-8".$eol.
"Content-Transfer-Encoding: base64".$eol;
$headers .= chunk_split(base64_encode(strip_tags($HTML)));
$headers .= "--$boundary".$eol.
"Content-Type: text/html; charset=UTF-8".$eol.
"Content-Transfer-Encoding: base64".$eol;
$headers .= chunk_split(base64_encode($HTML));
mail($to,$subject,$headers);
}


Y ya no marca error, se envia el correo, pero me lo muestra asi....

X-Mailer: PHP/5.5.28Content-Type: multipart/alternative;boundary = This is a MIME encoded message.
--
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
ICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgIC AgICAgICAgICAgICANCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgIC AgICAgICAgICAgIEpPUkdFIEFM
QkVSVE8sIA0KCQkJCQkJIHRlIGhhIGVudmlhZG8gdW5hIGludm l0YWNpw7NuIHBhcmEgcXVlIGNv
bnRlc3RlcyBlbCBzaWd1aWVudGUgY3Vlc3Rpb25hcmlvLiANCi AgICAgICAgICAgICAgICAgICAg
ICAgIEVzIG11eSBpbXBvcnRhbnRlIHF1ZSBsbyByZXNwb25kYX MgYSBsYSBicmV2ZWRhZCwgeWEg
cXVlIGVsIGxpbmsgcXVlIHNlIHRlIG1hbmRhIGEgY29udGludW FjacOzbiBzZXLDoSB2w6FsaWRv
IHBvciB1biB0aWVtcG8gZGV0ZXJtaW5hZG8uDQoJCQkJCQkNCg kJCQkJCQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgQ09OVEVTVEFSIENVRVNUSU9OQVJJTw0KIC AgICAgICAgICAgICAgICAgICAg
ICAgDQoJCQkJCQkNCgkJCQkJCU11Y2hhcyBncmFjaWFzIHBvci B0dSBhdGVuY2nDs24uDQogICAg
ICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgIC AgICAgICAgIEF0ZW50YW1lbnRl
Lg0KICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCS AgCQ0KCQkJCQkJCSAgICAgICAg
ICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgIC AgICAgKiBTZXJ2aWNpbyBwcm9w
b3JjaW9uYWRvIHBvciBST0lQQUwgW3JvaXBhbC5jb21dDQogIC AgICAgICAgICAgICAgICAgICAg
ICANCiAgICAgICAgICAgICAgICAgICAgICAgIA==
--
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
ICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIHdpZHRoPS IxMDAlIiBib3JkZXI9IjAiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iNSI+PHRyPjx0ZD 4NCiAgICAgICAgICAgICAg
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iNSI+ICAg
ICAgICAgIDxwIGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iaHR0cD ovL3JvaXBhbC5jb20vaW1hZ2Vz
L2hlYWRlci1sb2dvLnBuZyIgYm9yZGVyPSIwIiBhbHQ9IlJvaX BhbCIgLz48YnI+DQogICAg
L2hlYWRlci1sb2dvLnBuZyIgYm9yZGVyPSIwIiBhbHQ9IlJvaX BhbCIgLz48YnI+ICAg
ICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IkFyaWFsLC BIZWx2ZXRpY2EsIHNhbnMtc2Vy
aWYiIHNpemU9IjMiPjxiciAvPg0KICAgICAgICAgICAgICAgIC AgICAgICAgICA8c3Ryb25nPkpP
UkdFIEFMQkVSVE8sIDwvc3Ryb25nPjxicj48YnI+DQoJCQkJCQ kgdGUgaGEgZW52aWFkbyB1
UkdFIEFMQkVSVE8sIDwvc3Ryb25nPjxicj48YnI+bmEg
aW52aXRhY2nDs24gcGFyYSBxdWUgY29udGVzdGVzIGVsIHNpZ3 VpZW50ZSBjdWVzdGlvbmFyaW8u
IA0KICAgICAgICAgICAgICAgICAgICAgICAgRXMgbXV5IGltcG 9ydGFudGUgcXVlIGxvIHJlc3Bv
bmRhcyBhIGxhIGJyZXZlZGFkLCB5YSBxdWUgZWwgbGluayBxdW Ugc2UgdGUgbWFuZGEgYSBjb250
aW51YWNpw7NuIHNlcsOhIHbDoWxpZG8gcG9yIHVuIHRpZW1wby BkZXRlcm1pbmFkby48YnI+DQoJ
CQkJCQk8YnI+DQoJCQkJCQk8YSBocmVmPSJodHRwOi8vcm9pcG FsLmNvbS9wcmVndW50YXMu
CQkJCQk8YnI+cGhw
P2lkX2N1ZXN0aW9uYXJpbz0xJnRva2VuPTRFN0M3REM2MTQyMT gyNjFCMjhCNkYwOTQyM0I1MURE
Jmxhbmc9ZXMmcXVlc3Q9MCZpZF9hcGxpY2FudGU9MTc3JmlkX2 NsaWVudGU9MTMmaWRfdXN1YXJp
bz0xMyI+DQogICAgICAgICAgICAgICAgICAgICAgICBDT05URV NUQVIgQ1VFU1RJT05BUklP
bz0xMyI+DQog
ICAgICAgICAgICAgICAgICAgICAgICA8L2E+PGJyPg0KCQkJCQ kJPGJyPjxicj4NCgkJCQkJ
ICAgICAgICAgICAgICAgICAgICAgICA8L2E+CU11
Y2hhcyBncmFjaWFzIHBvciB0dSBhdGVuY2nDs24uPC9mb250Pj wvcD4NCiAgICAgICAgICAgICAg
ICAgICAgICAgIDxicj4NCiAgICAgICAgICAgICAgICAgICAgIC AgIDxwPjxmb250IHNpemU9IjMi
IGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPk F0ZW50YW1lbnRlLjxicj4NCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxicj4NCgkJCQ kJCSAgCTxicj4NCgkJCQkJCQkg
ICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgIC AgICAgICAgICAgICAgICA8
ICAgICAgICAgICAgICAgICAgICAgICA8YnI+L2Zv
bnQ+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsIEhlbHZldG ljYSwgc2Fucy1zZXJpZiI+KiBT
ZXJ2aWNpbyBwcm9wb3JjaW9uYWRvIHBvciBST0lQQUwgWzxhIG hyZWY9Imh0dHA6Ly9yb2lwYWwu
Y29tIj5yb2lwYWwuY29tPC9hPl08L2ZvbnQ+PC9wPg0KICAgIC AgICAgICAgICAgICAgICAg
Y29tIj5yb2lwYWwuY29tPC9hPl08L2ZvbnQ+ICAg
PC90ZD48L3RyPjwvdGFibGU+DQogICAgICAgICAgICAgICAgIC AgICAgICA=
  #4 (permalink)  
Antiguo 01/09/2015, 13:37
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

Claro, lo estás enviando codificada en base64:

Código PHP:
Ver original
  1. "Content-Transfer-Encoding: base64".$eol;
  #5 (permalink)  
Antiguo 01/09/2015, 13:57
 
Fecha de Ingreso: diciembre-2014
Mensajes: 60
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

Y si no es base64, entonces cual es?, sorry pero soy novato
  #6 (permalink)  
Antiguo 01/09/2015, 13:58
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

Prueba enviarla sin codificar.
  #7 (permalink)  
Antiguo 01/09/2015, 15:14
 
Fecha de Ingreso: diciembre-2014
Mensajes: 60
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

Hola, con este codigo...

Código PHP:
Ver original
  1. ##### ENVIAR EMAILS EN HTML ####
  2. function sendHTMLemail($HTML,$from,$to,$subject) {
  3.         $eol = PHP_EOL;
  4.         $headers = "From: $from".$eol;
  5.         $headers .= "Reply-To: $from".$eol;
  6.         $headers .= "Return-Path: $from".$eol;
  7.         $headers .= "X-Mailer: PHP/" . phpversion();
  8.         $headers .= "MIME-Version: 1.0".$eol;
  9.         $headers .= "Content-Type: text/html; charset=UTF-8".$eol.
  10.         $headers .= $HTML;
  11.         mail($to,$subject,$headers);  
  12. }

Me muestra en el correo-e, como codigo html..

<table width="100%" border="0" cellpadding="0" cellspacing="5"><tr><td>
  #8 (permalink)  
Antiguo 01/09/2015, 15:20
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Warning: mail(): Multiple or malformed newlines found in additional_header

Mejor utiliza PHPMailer, que es más completo, con mail() el uso de headers es muy tedioso.

Etiquetas: found, html, mail, warning
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:02.