son que mail líneas los lineas las formulario exactas enviar electrónicos electronico ejemplo correos correo asunto php email newline content-type

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