我正在尝试使用 php smtp身份验证发送带格式的电子邮件,但由于某些原因\n
,\r\n
和PHP_EOL
无法格式化消息,因此一切都出现在一条线上。
以下是我尝试的内容
$order .= "Title : {$title}" . PHP_EOL
."Author : {$author}" . PHP_EOL
."ISBN : {$isbn}" . PHP_EOL
."Publisher : {$publisher}" . PHP_EOL
."Supplier : {$supplier}\n
Quantity : {$qty}\r\n
变量$order
包含电子邮件的正文。
这是我的sendMail()
函数
$from = "{$sender_name} <{$sender}>";
$to = $reciever." <$email>";
$subject = $subj;
$body = $msg;
$host = "mail.thekingsbooks.com";
$username = "noreply@thekingsbooks.com";
$password = "password";
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory(
'smtp',
array(
'host' => $host,
'auth' => true,
username => $username,
password => $password
)
);
$mail = $smtp->send($to, $headers, $body);
发送的邮件如下所示
Ordered items\r\nTitle : A Retreat With Pope John Paul II: Be Not Afraid (Retreat With-- Series)\r\nAuthor : \r\nISBN : 0867164204\r\nPublisher : \r\nSupplier : \r\n\r\n Quantity : 6\r\n\r\n
有关如何格式化电子邮件正文的任何建议?谢谢
答案 0 :(得分:0)
如果您在Outlook中查看此内容,Outlook可能正在剥离空白。在Outlook中,单击显示已还原空白的选项。
答案 1 :(得分:-1)
可能是它以HTML格式发送。尝试在标题中添加“Content-type:text / plain; charset = iso-8859-1”。