501语法错误 - 行太长

时间:2015-04-15 21:28:21

标签: php email smtp

通过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',

3 个答案:

答案 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。

尝试换长行。