Amazon SES:消息发送失败 - 遇到以下 SMTP 错误:552 5.3.4 消息太长

Abh*_*and 5 php email smtp amazon-web-services amazon-ses

我发送了带有 7MB 附件文件的邮件,然后出现以下错误。我该如何解决?

220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-8ND3U1R22 5Eg0poz3kAZNziS4R0Qn
hello: 250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-STARTTLS
250-AUTH PLAIN LOGIN
250 Ok
starttls: 220 Ready to start TLS
hello: 250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-STARTTLS
250-AUTH PLAIN LOGIN
250 Ok
from: 250 Ok
to: 250 Ok
data: 354 End data with .
552 5.3.4 Message is too long.
The following SMTP error was encountered: 552 5.3.4 Message is too long.
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
Run Code Online (Sandbox Code Playgroud)

Jaa*_*erg 5

通过 AWS SES 发送电子邮件时,当前需要记住 2 个消息大小数字:10mB 和 40mB。最大消息大小有配额,并且可能存在带宽限制。

AWS SES 限制的文档位于https://docs.aws.amazon.com/ses/latest/DeveloperGuide/quotas.html(Amazon SES 中的服务配额):

资源:使用 SES v2 API 或 SMTP -最大邮件大小(包括附件)
默认配额:每条邮件 40 MB(base64 编码后)。
是否有资格增加?:否

(截至 2021 年 9 月,此配额为10MB)。

如果您的电子邮件超出此配额,您将看到回复552 5.3.4 Message is too long。(这记录在AWS SES SMTP 响应代码列表中)。

大于 10MB 的消息会受到带宽限制,并且根据您的发送速率,您可能会被限制到低至 40MB/s。例如,您可以以每秒 1 条消息的速率发送一条 40MB 的消息,或者每秒发送两条 20MB 的消息。


Far*_*han 1

Amazon SES 有消息长度限制,即 10 MB,且无法增加。另外,您的消息的base64编码版本可能超出限制,因此导致错误。我认为您可以在同一封电子邮件中包含一个链接,该链接指向指向可通过导航下载的文件的 URL。