2012-05-11 32 views
1

我试图发送格式的电子邮件与PHP SMTP认证,但由于某种原因(S)\n\r\nPHP_EOL无法格式化的消息,因此一切都出现在一行格式的电子邮件。如何使用SMTP

下面是我已经试过

$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 = "[email protected]"; 
$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   

如何在电子邮件正文格式的任何建议?谢谢

回答

-1

它可能是它被发送为HTML。尝试将“Content-type:text/plain; charset = iso-8859-1”添加到您的标题中。

0

如果您在Outlook中查看此内容,Outlook可能会剥离空白。在Outlook中,点击显示恢复的空白的选项。

+0

我发邮件给Gmail,我没有使用Outlook。 – Chibuzo