2012-03-26 75 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编码的字符串。

干杯!