-1

我有这个 PHP 代码:

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

将   添加到 php 电子邮件内容不会插入空格。

我想在冒号和$password. 有没有办法添加空格?

4

6 回答 6

2

您可以将电子邮件作为 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);
于 2010-01-19T18:53:29.053 回答
1

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

使用 nl2br 函数将换行符转换为<br/>s。

还可以通过附加标题“ Content-Type: text/html; charset=UTF-8”来设置 Content-Type。

如果您不想使用 HTML:您也可以使用制表符\t,但不确定 Hotmail 是否支持该字符。

于 2010-01-19T18:40:53.110 回答
0

这实际上取决于您阅读的内容。Hotmail 的问题在于它会将其视为计划文本,但会将其转换为最有可能显示给您的 HTML。

查看示例 4,了解如何使用 php 发送 html 电子邮件

于 2010-01-19T18:41:47.567 回答
0

如果电子邮件Content-Typetext/plain,则应尊重所有空格。听起来您将电子邮件消息传输为text/html,这就是为什么您需要   才能显示第二个空格。

于 2010-01-19T18:44:48.343 回答
0

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

于 2010-01-19T18:56:27.117 回答
0

发送消息时尝试使用“wordwrap”,这应该会分解电子邮件并解决问题:

@mail($to, $subject, wordwrap($message), $headers);
于 2012-02-29T05:07:51.867 回答