2015-04-15 67 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結果,並解決了問題。