2012-03-26 41 views
4

我使用PHP mail()發送每日通知郵件。如果內容超過一定限制,PHP郵件被中斷

但我注意到,如果存儲郵件內容的字符串太長,則電子郵件將被中斷,即只有部分內容將顯示在收到的電子郵件中。

當內容字符串很短時,電子郵件將會完成。所以看起來PHP對字符串的長度有一些限制。

我試圖用echo $content;來顯示存儲內容的字符串,內容在瀏覽器中完成。但是,當電子郵件中發送相同的字符串時,它會中斷。

任何人都可以幫我解決這個問題嗎?提前致謝!

+0

字符串有多長?你可以發表一個例子嗎? – user1289347 2012-03-26 03:55:23

+1

會有幫助嗎? http://stackoverflow.com/questions/4738160/workaround-for-the-990-character-limitation-for-email-mailservers – FMCorz 2012-03-26 03:56:42

+0

@FMC非常感謝!這就是我所遇到的問題,解決方案對我來說非常合適! – 2012-03-26 04:04:09

回答

5

嘗試用下面的腳本:

mail($to, $subject, chunk_split(base64_encode($message), "Content-Transfer-Encoding: base64\r\n"); 

說明:

  • 電子郵件標準RFC2822只接受998個字符,每行的長度。
  • 電子郵件客戶端可以更好地讀取base64編碼的字符串。

乾杯!