通过php发送邮件时,我收到以下错误 -
501 Syntax error - line too long
The following SMTP error was encountered: 501 Syntax error - line too long
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
如上所述,该问题清楚地解释了该问题,但我并不想减少html模板的内容。知道我需要更改设置吗?
我正在使用这些细节 -
'smtp_host' => 'smtp.1and1.com',
'smtp_port' => '587',
答案 0 :(得分:5)
如果没有看到模板代码本身,您可能需要通过添加一些换行符来将内容分成几行。
很容易意外地创建非常长的行,例如当你有一个循环echo
输出内容或将内容附加到字符串时。首先检查这些情况。可以通过"\n"
或PHP_EOL
添加新行,并且不会影响html的格式。
答案 1 :(得分:1)
由于您使用的是PHP,因此可以使用chunk_split来分解一长串连续字符。
我们最近在尝试通过AWS发送附件时遇到了这个问题。 SES。五个收件人服务器中只有一个拒绝了超过1,000个字符的电子邮件(包括\ r \ n - 998除外)。 Gmail,Outlook,雅虎都没有问题。我们将chunk_split应用于base64_encode结果,问题得到了解决。
答案 2 :(得分:0)
如果您发送的电子邮件活动在电子邮件活动邮件正文中包含超过998个连续字符,则会出现此问题。
998个字符允许每行末尾所需的CR LF。
尝试换长行。