我正在開發一個使用PHP的郵件系統。我非常接近完成,因爲它除Outlook之外都運行良好(我目前正在測試Outlook 2010,在Windows 7上)。PHP郵件多部分/混合中斷Outlook 2010
電子郵件是multipart/mixed
;它包含一組multipart/alternative
HTML和純文本替代以及可選的附件。這一切都得到正確發送,如果我在Gmail中檢查原始標題,它看起來應該看起來。但是,如果我在Outlook中檢查原始標題,它會在multipart/mixed
聲明後切斷任何內容。我在這裏包含了標題。我簡化了他們;剝離實際的純文本,html,電子郵件地址,並簡化邊界。由Gmail顯示我的頭,看起來有點像這樣:
(... information about receiving by the server ...)
To: "Hidden recipients" <[email protected]>
Subject: Een BCC
From: "My Name"<[email protected]>
Reply-To: [email protected]
Date: Sun, 19 Jul 2015 14:16:31 +0000
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="PHP-mixed"
This is a message with multiple parts in MIME format.
--PHP-mixed
Content-Type: multipart/alternative; boundary="PHP-alt"
--PHP-alt
Content-type:text/plain;charset=utf-8
Content-Transfer-Encoding: quoted-printable
... here's the plain text alternative
--PHP-alt
Content-type: text/html;charset=utf-8
Content-Transfer-Encoding: quoted-printable
... here's the html-formatted text
--PHP-alt--
--PHP-mixed--
的Outlook顯示我的頭,看起來有點像這樣:
(... information about receiving by the server ...)
To: "Hidden recipients" <[email protected]>
Subject: Een BCC
From: "My Name"<[email protected]>
Reply-To: [email protected]
Date: Sun, 19 Jul 2015 14:16:31 +0000
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="PHP-mixed"
我的問題是,怎麼會出現這種情況,如何能我解決了這個問題?爲什麼Gmail運行良好,而Outlook卻沒有?
這不是一個現實的例子。但看起來你正在手動組裝MIME部分。考慮一下事實證明,像SwiftMailer/PHPMailer,而不是handicrafting很難解決的事情。 – mario
謝謝。我目前正在嘗試PHPMailer。看起來很容易實現,即使我在共享服務器主機上。現在我已經發送了一個簡單的多部分/替代電子郵件,我發現在outlook中「查看完整的標題」實際上是故意切斷標題中的郵件正文!至少它效果更好。當我完成它時,我會填寫自己的問題的答案! :-) – Jeroen