2010-01-19 103 views
-1

我有这样的PHP代码:添加非打破空间的PHP电子邮件不插入空格

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

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

我想在冒号和$password之间放两个空格。有没有办法增加空格?

回答

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); 
1

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

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

还通过添加标头“Content-Type: text/html; charset=UTF-8”来设置内容类型。

如果您不想使用HTML:您也可以使用制表符\t,但不确定Hotmail是否支持这种打火机。

+0

后,你必须对所有这些'\ N'的转换为'
's – 2010-01-19 18:43:37

0

如果电子邮件的Content-Typetext/plain,则应该遵守所有空格。听起来你正在传送电子邮件为text/html,这就是为什么你需要& nbsp来获得第二个空间显示。

0

发送邮件时使用“自动换行”尝试,这应该分手的电子邮件和 解决这个问题:

@mail($to, $subject, wordwrap($message), $headers); 
相关问题