2015-04-15 49 views
0

虽然通过PHP发送邮件我收到以下错误 -501语法错误 - 行太长

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', 
+1

您可以将内容分散在多行上。 –

回答

4

没有看到模板代码本身,您可能需要通过添加一些换行符来将内容分成几行。

意外地创建很长的行很容易,例如,当您有一个循环内容或将内容附加到字符串时。首先检查这些情况。新行可以通过"\n"PHP_EOL添加,并且不会影响您的html格式。

0

如果您发送的电子邮件活动有超过998点连续的字符在电子邮件活动邮件正文出现此问题。

998个字符允许在每行末尾所需的CR LF。

尝试换行较长的行。

1

由于您使用的是PHP,因此您可以使用chunk_split来分解一连串长字符。

我们最近在尝试通过AWS的SES发送附件时遇到了这个问题。五个收件人服务器中只有一个拒绝超过1,000个字符的电子邮件(包括\ r \ n - 998不包括在内)。 Gmail,Outlook,雅虎都没有问题。我们将chunk_split应用于base64_encode结果,并解决了问题。