El RFC-2822 que define el formato del cuerpo de un mensaje de correo explica que necesitas separar las líneas mediante un separador CRLF
(\r\n
):
$email_body = "Nombre: " . $first_name . "\r\n" .
"Apellido: " . $last_name . "\r\n" .
"Portal: " . $portal . "\r\n" .
"Piso: " . $piso . "\r\n" .
"Email: " . $email . "\r\n" .
"Telefono: " . $phone . "\r\n" .
"Incidencia: " . $incidencia . "\r\n" .
"Mensaje: " . $message . ".";
Usar un separador LF
(\n
) te funcionará con la mayoría de lectores de correo modernos pero podría no funcionar correctamente en alguno.
Además, si el tipo mime que usas para el contenido de tu correo es text/html
entonces deberás usar como separador de líneas una etiqueta HTML como <br/>
o bien encapsular las líneas en párrafos con <p>
(separar las líneas con CRLF
ahora se vuelve algo opcional):
$email_body = "Nombre: " . htmlspecialchars($first_name) . "<br/>\r\n" .
"Apellido: " . htmlspecialchars($last_name) . "<br/>\r\n" .
"Portal: " . htmlspecialchars($portal) . "<br/>\r\n" .
"Piso: " . htmlspecialchars($piso) . "<br/>\r\n" .
"Email: <a href=\"mailto:" . htmlspecialchars($email) . "\">" .
htmlspecialchars($email) . "</a><br/>\r\n" .
"Telefono: " . htmlspecialchars($phone) . "<br/>\r\n" .
"Incidencia: " .htmlspecialchars( $incidencia) . "<br/>\r\n" .
"<hr/>" .
"<b>Mensaje:</b> " . htmlspecialchars($message) . ".";
$cabeceras = "MIME-Version: 1.0\r\n" .
"Content-type: text/html; charset=utf-8\r\n";
mail($destinatario, $asunto, $email_body, $cabeceras);
"; y así con todos los saltos de línea. Si el salto de línea lo quieres en el código generado en lugar de en HTLM, entonces es cambiar
por \n – track3r Mar 21 '18 at 10:46