L'aggiunta di uno spazio unificatore di un'email php non inserisce spazi
Domanda
Ho questo codice PHP:
mail($email, $subject,
"Welcome to **!\n\n The password for your account is:\n $password",
$headers);
L'aggiunta di & nbsp al contenuto php email non inserire spazi.
Voglio mettere due spazi tra i due punti e $password
. Esiste un modo per aggiungere gli spazi?
Soluzione
È possibile inviare l'e-mail in formato HTML che richiede intestazioni supplementari e attuale HTML nel corpo del messaggio:
// 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);
Altri suggerimenti
Aggiungi <html>
e </html>
: per indicare il messaggio è formattato HTML. Quindi è possibile utilizzare
Utilizzare la funzione nl2br per convertire a capo di <br/>
s.
Anche impostare il Content-Type aggiungendo un header "Content-Type: text/html; charset=UTF-8
".
Se non si desidera utilizzare HTML:. È possibile utilizzare la scheda \t
carattere troppo, ma non è sicuro se Hotmail supporta tale eighter
Questo dipende molto da quello che stai leggendo in. Il problema con Hotmail è che lo vede come testo piano, ma lo converte in HTML più probabile per visualizzare a voi.
Se Content-Type
della posta elettronica è text/plain
, allora tutti gli spazi devono essere onorati. Suona come si sta trasmettendo il messaggio di posta elettronica come text/html
, che è il motivo per cui si avrebbe bisogno di & nbsp per ottenere il secondo spazio di presentarsi.
Utilizza il http://swiftmailer.org/ classe a che fare con PHP-mail. E 'bello fatto e ti dà un sacco di belle caratteristiche.
Prova a usare 'wordwrap' quando si invia il messaggio, questo dovrebbe rompere l'e-mail e risolvere il problema:
@mail($to, $subject, wordwrap($message), $headers);