Adición de un espacio duro a un correo electrónico php No inserta espacios
Pregunta
Tengo este código PHP:
mail($email, $subject,
"Welcome to **!\n\n The password for your account is:\n $password",
$headers);
& nbsp Adición al contenido php correo electrónico no hace insertar espacios.
Quiero poner dos espacios entre los dos puntos y $password
. ¿Hay una manera de añadir espacios?
Solución
Se puede enviar el correo electrónico como HTML que requiere cabeceras extra y HTML real en el cuerpo del mensaje:
// Add extra headers to $headers
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
// Send mail as HTML
mail($email, $subject,
"<html><body>Welcome to **!<br><br> The password for your account is:<br> $password</body></html>",
$headers);
Otros consejos
Agregar <html>
y </html>
: para indicar el mensaje es formato HTML. A continuación, puede utilizar
Utilice la función nl2br a nuevas líneas Convertir a <br/>
s.
También establece el tipo de contenido añadiendo una cabecera "Content-Type: text/html; charset=UTF-8
".
Si no desea utilizar HTML:. Puede utilizar la pestaña \t
caracteres también, pero no estoy seguro si los soportes de Hotmail que eighter
Esto realmente depende de lo que está leyendo. El problema es que Hotmail se ve como texto plano, pero lo convierte en HTML más probabilidades de pantalla para usted.
ejemplo 4 sobre cómo enviar correo electrónico HTML usando PHP .
Si Content-Type
del e-mail es text/plain
, entonces todos los espacios debe ser honrado. Parece que usted está transmitiendo el mensaje de correo electrónico como text/html
, por lo que podría necesitar el & nbsp para obtener el segundo espacio en aparecer.
Utilice el http://swiftmailer.org/ clase para hacer enviando un correo electrónico con PHP. Es agradable hecho y le da una gran cantidad de características interesantes.
Trate de usar 'ajuste de línea' al enviar el mensaje, esto debe romper el correo electrónico y solucionar el problema:
@mail($to, $subject, wordwrap($message), $headers);