AWS SES не смог отправить электронное письмо, произошла ошибка 550

0

Вопрос

Я использую 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 и свой код, который отправляет электронные письма:

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

Что я сделал не так и может ли это быть проблемой удаленной конфигурации пользователя?

1

Лучший ответ

4

Я думаю, что вы на правильном пути, поскольку это удаленная проблема. Судя по звуку ошибки, Amazon SES пытается подключиться к удаленному почтовому ретранслятору, но не может создать соединение TLS и вместо этого отменяет его.

Ваш набор конфигурации применяет политику отправки только в том случае, если соединение TLS может быть установлено на сервер (и сообщение зашифровано) до конечного пользователя. В зависимости от того, насколько чувствительны ваши электронные письма, это может быть желаемым поведением.

Однако, если вы хотите продолжать отправлять почту, даже в незашифрованном виде, вы можете отключить параметр требовать TLS. Amazon по-прежнему будет использовать TLS, когда это возможно, согласно их документации -

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

По умолчанию Amazon SES использует оппортунистический протокол TLS. Это означает, что Amazon SES всегда пытается установить безопасное соединение с получающим почтовым сервером. Если Amazon SES не может установить безопасное соединение, он отправляет сообщение в незашифрованном виде.

2021-10-27 12:32:32

спасибо, постараюсь сделать TLS не обязательным - и посмотрим, что получится
persononomo

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................