我有此PHP代码:

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

添加&NBSP到PHP电子邮件内容不插入空格。

我想把结肠和$password之间的两个空格。有没有一种方法来添加空格?

有帮助吗?

解决方案

您可以发送电子邮件作为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);

其他提示

添加<html></html>:用于指示消息是HTML格式。然后就可以使用&nbsp;

使用nl2br函数来转换到新行<br/>s。

此外,通过附加一个标题“Content-Type: text/html; charset=UTF-8”中设置的内容类型。

如果你不想使用HTML:您可以使用制表字符\t过,但不知道Hotmail的支持是eighter

这真的取决于你正在阅读它的东西。与Hotmail的问题是,它认为这是计划文本,但它转换为HTML最有可能显示到你。

只看如何使用PHP 来发送HTML电子邮件实施例4。

如果电子邮件的Content-Typetext/plain,那么所有的空间应该得到尊重。像你这样的声音正在传送的电子邮件消息text/html,这就是为什么你需要的&NBSP获得第二个空间展现出来。

使用 http://swiftmailer.org/ 类做PHP发送电子邮件。这是很好的完成,为您提供了很多不错的功能。

尝试发送消息时使用“换行”,这应该拆散的电子邮件和 解决问题:

@mail($to, $subject, wordwrap($message), $headers);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top