Pregunta

Tengo el siguiente código que envía un mensaje usando la función mail ().Todo funciona bien, excepto los saltos de línea al final de cada línea no parecen funcionar.Como puedes ver estoy usando " ", con la esperanza de que esto me dará un salto de línea pero no he añadido <br> para obtener el descanso, pero prefiero no utilizar en caso de que alguien no tiene un cliente de correo electrónico HTML.

<?php
  $to = 'user@example.com'; // Was a valid e-Mail address, see comment below
  $name = $_REQUEST['name'] ;
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;

  $content = 'Name: '.$name."\r\n";
  $content .= 'Email: '.$email."\r\n";
  $content .= 'Subject: '.$subject."\r\n";
  $content .= 'Message: '.$message."\r\n";

  $headers  = 'MIME-Version: 1.0' ."\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";

  // Additional headers
  $headers .= 'To: iVEC Help <help@ivec.com>'. "\r\n";
  $headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";

  mail( $to, $subject, $content, $headers);

?>

<p> You sent it ... good work buddy </p>
<p> <?php   '$name' ?> </p>
¿Fue útil?

Solución

Tienes que enviar como HTML - cambie el tipo de contenido text/plain y debería funcionar.

Otros consejos

El problema es que usted dice, en sus encabezados, que el correo es un correo electrónico HTML:

$headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";

Si desea garantizar la compatibilidad con los clientes HTML y de texto, considere usar el tipo de contenido Multipart. Esto se puede lograr de muchas maneras diferentes, pero una forma simple es usar una biblioteca que pueda hacer esto por usted. Por ejemplo, puede usar PEAR: Mail_Mime

No soy un experto en esta área, pero supongo que está configurando el tipo de contenido en text / html, lo que implica la representación html (lo que significa que los saltos de línea se traducen en un espacio). Si no está utilizando ningún elemento HTML (que parece no estarlo), intente configurar el tipo de contenido en texto / sin formato.

Como se mencionó anteriormente, configúrelo en text / plain o agregue un salto de HTML para los saltos de línea:

$content = 'Name: '.$name."</br>\r\n";

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top