que - mail php ejemplo
nuevas líneas(/ r / n) no funcionan en el cuerpo del correo electrónico (9)
Estoy usando la función PHP mail ():
$to = ''AAAA <[email protected]>'';
$subject = ''BBBB'';
$message = "CCCC/r/nCCCC CCCC /r CCC /n CCC /r/n CCC /n/r CCCC";
$headers = ''From: DDD<[email protected]>'' . "/r/n";
$headers .= "Content-type: text/html; charset=/"UTF-8/"; format=flowed /r/n";
$headers .= "Mime-Version: 1.0 /r/n";
$headers .= "Content-Transfer-Encoding: quoted-printable /r/n";
mail($to, $subject, $message, $headers);
Cuando recibo este correo electrónico, se ve así:
CCCC CCCC CCCC CCC CCC CCC CCCC
Esperaría algo como esto:
CCCC
CCCC CCCC CCC
CCC
CCC
CCCC
Funciona bien sin encabezado "Content-type:". ¿Cómo puedo crear nuevas líneas y usar mi declaración de tipo de contenido?
Esto funcionó para mí.
$message = nl2br("
===============================/r/n
www.domain.com /r/n
===============================/r/n
From: ".$from."/r/n
To: ".$to."/r/n
Subject: ".$subject."/r/n
Message: ".$_POST[''form-message'']);
Necesita utilizar <br>
lugar de /r/n
. Para esto puede usar la llamada de función nl2br Entonces su código debería ser así
$message = nl2br("CCCC/r/nCCCC CCCC /r CCC /n CCC /r/n CCC /n/r CCCC");
Necesita utilizar una <br>
porque su content-type
es text/html
.
funciona sin el encabezado de content-type
porque entonces su correo electrónico se interpretará como texto sin formato. Si realmente quieres usar /n
debes usar content-type: text/plain
pero luego perderás cualquier marcado.
pregunta similar here
Otra cosa que use "", hay una diferencia entre "/ r / n" y "/ r / n".
Puede agregar un nuevo carácter de línea en texto / tipo de contenido simple usando el código de carácter % 0A .
Por ejemplo:
<a href="mailto:[email protected]?subject=Hello%20again&body=HI%20%0AThis%20is%20a%20new%20line"/>
Aquí está el jsfiddle
Si está enviando un correo electrónico HTML, utilice <BR> (o <BR /> ) como se indica.
Si está enviando un mensaje de texto sin formato, use % 0D% 0A
/ r = % 0D (Ctrl + M = retorno del carro)
/ n = % 0A (Ctrl + A = alimentación de línea)
Si tiene un enlace de correo electrónico en su correo electrónico,
P.EJ
<A HREF="mailto?To=...&Body=Line 1%250D%250ALine 2">Send email</A>
Luego use % 250D% 250A
% 25 =%
Si usa content-type: text/html
, debe poner una <br>
porque su mensaje será amenazado como un archivo html .
Pero si cambia su content-type
a text/plain
lugar de text/html
, podrá usar caracteres /r/n
.
Usar <BR>
no es siempre suficiente. MS Outlook 2007 ignorará esto si no le dice a Outlook que es una etiqueta html que se cierra automáticamente al usar
<BR />
'' ''
faltaba espacio en mi caso, cuando un espacio en blanco agregado '' /r/n''
comenzó a funcionar