我正在使用 PHP mail()
发送每日通知电子邮件。
但是我注意到,如果存放邮件内容的字符串太长,邮件就会中断,即收到的邮件中只会显示部分内容。
当内容字符串很短时,电子邮件将是完整的。因此,PHP 似乎对字符串的长度有一些限制。
我尝试使用echo $content;
来显示存储内容的字符串,内容在浏览器中是完整的。但是当相同的字符串在电子邮件中发出时,它就被打断了。
谁能帮我解决这个问题?提前致谢!
最佳答案
尝试使用以下脚本:
mail($to, $subject, chunk_split(base64_encode($message), "Content-Transfer-Encoding: base64\r\n");
解释:
- 电子邮件标准 RFC2822 只接受每行 998 个字符的长度。
- 电子邮件客户端可以更好地读取 base64 编码的字符串。
干杯!
关于如果内容超过一定限制,PHP 电子邮件会中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866356/