Добавление неразрывного пробела к электронной почте php не вставляет пробелы - PullRequest
0 голосов
/ 19 января 2010

У меня есть этот код PHP:

mail($email, $subject, 
  "Welcome to **!\n\n The password for your account is:\n $password", 
  $headers);

При добавлении & nbsp к содержимому электронной почты php пробелы не вставляются.

Я хочу поставить два пробела между двоеточием и $password. Есть ли способ добавить пробелы?

Ответы [ 6 ]

2 голосов
/ 19 января 2010

Вы можете отправить электронное письмо в формате HTML, которое требует дополнительных заголовков и фактического HTML в теле сообщения:

// 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> &nbsp;$password</body></html>", 
  $headers);
1 голос
/ 19 января 2010

Добавить <html> и </html>: для обозначения сообщения в формате HTML. Тогда вы можете использовать &nbsp;

Используйте функцию nl2br для преобразования строк в <br/> с.

Также установите Content-Type, добавив заголовок "Content-Type: text/html; charset=UTF-8".

Если вы не хотите использовать HTML: вы также можете использовать символ табуляции \t, но не уверены, поддерживает ли Hotmail этот вариант.

0 голосов
/ 29 февраля 2012

Попробуйте использовать 'wordwrap' при отправке сообщения, это должно разбить письмо и решить проблему:

@mail($to, $subject, wordwrap($message), $headers);
0 голосов
/ 19 января 2010

Используйте класс http://swiftmailer.org/ для отправки электронной почты с помощью PHP. Это хорошо сделано и дает вам много приятных функций.

0 голосов
/ 19 января 2010

Если в письме Content-Type указано text/plain, то все пробелы должны быть учтены.Звучит так, как будто вы передаете сообщение электронной почты как text/html, поэтому вам нужно, чтобы появился второй пробел.

0 голосов
/ 19 января 2010

Это действительно зависит от того, что вы читаете. Проблема с Hotmail заключается в том, что он видит его как текст плана, но преобразует его в HTML, который, скорее всего, будет отображаться для вас.

Посмотрите на пример 4 о том, как отправить html-письмо с помощью php .

...