1

php smtp authenticationでフォーマットされたメールを送信しようとしていますが、何らかの理由\nでメッセージ\r\nPHP_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         

メール本文のフォーマットについて何か提案はありますか? ありがとう

4

2 に答える 2

0

これを Outlook で表示している場合、Outlook が空白を削除している可能性があります。Outlook で、復元された空白を示すオプションをクリックします。

于 2012-05-11T13:58:19.180 に答える
-1

HTML として送信されている可能性があります。「Content-type: text/plain; charset=iso-8859-1」をヘッダーに追加しようとしています。

于 2012-05-11T11:55:35.013 に答える