【问题标题】:AWS SES could not send the email, got 550 errorAWS SES 无法发送电子邮件,收到 550 错误
【发布时间】:2021-10-27 12:15:16
【问题描述】:

我使用 SES 向用户发送电子邮件。有时用户向我报告说他们没有收到我的任何电子邮件。我开始通过sns主题收集退回的电子邮件,发现status = 5.5.1

诊断代码

"smtp; 550 5.1.1 Remote MTA does not support STARTTLS. Message can be delivered only over a TLS connection."

我使用 aws-sdk 和发送 emais 的代码:

let params = {
    Destination: {
        ToAddresses: [emailDestination]
    },
    Message: {
        Body: {
            Html: {
                Charset: "UTF-8",
                Data: template({
                    ...templateData
                })
            },
        },
        Subject: {
            Charset: 'UTF-8',
            Data: templateData.subject
        }
    },
    Source: SOURCE_EMAIL,
    ConfigurationSetName: CONFIGURATION_SET_NAME
};

await ses.sendEmail(params).promise()

我的配置集有TLS Required

我做错了什么,可能是用户的远程配置问题?

【问题讨论】:

    标签: amazon-web-services ssl aws-sdk amazon-ses


    【解决方案1】:

    我认为你是在正确的轨道上,这是一个远程问题。从错误的声音来看,Amazon SES 正在尝试连接到远程邮件中继,但未能创建 TLS 连接并改为取消。

    您的配置集强制执行仅当可以建立到接收服务器的 TLS 连接(并且消息已加密)一直到最终用户时才发送的策略。根据您的电子邮件的敏感程度,这可能是所需的行为。

    但是,如果您想继续发送邮件,即使未加密,您也可以禁用需要 TLS 设置。根据他们的文档,亚马逊仍将尽可能使用 TLS -

    https://docs.aws.amazon.com/ses/latest/DeveloperGuide/security.html

    默认情况下,Amazon SES 使用机会性 TLS。这意味着 Amazon SES 始终尝试与接收邮件服务器建立安全连接。如果 Amazon SES 无法建立安全连接,它会发送未加密的消息。

    【讨论】:

    • 谢谢你,将尝试使 TLS 不需要 - 看看会发生什么
    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 2020-11-25
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 2022-05-23
    • 2018-09-09
    • 2014-06-28
    相关资源
    最近更新 更多