Отправить тестовое электронное письмо не удалось, адрес электронной почты не проверен

Я хочу использовать сервис простой электронной почты Amazon для отправки электронных писем.

Я подтвердил свой домен, а также адрес электронной почты, с которого я хочу отправить.

Для обоих это говорит verified,

Теперь, когда я отправляю тестовое электронное письмо на myemail@outlook.com для отправки тестового электронного письма из консоли AWS, я получаю только сообщение об ошибке:

Адрес электронной почты не подтвержден. Следующие удостоверения не прошли проверку в регионе EU-WEST-1: myemail@outlook.com (идентификатор запроса: 9fb78de1-2673-11e6-bbbc-5f819fabe4f4)

Теперь он меня поражает, потому что он говорит, что myemail@outlook.com не был проверен, но я пытался отправить с admin@mydomain.com. Диалоговое окно "Отправить тестовое электронное письмо" даже заставляет вас использовать электронное письмо, которое уже зарегистрировано.

Как можно решить эту проблему? Я что-то пропустил?

18 ответов

Решение

Когда ваша учетная запись SES находится в режиме "песочницы", вы можете:

  1. Отправлять только с проверенных доменов и адресов электронной почты, и
  2. Отправлять только на подтвержденные домены и адреса электронной почты

Чтобы отправить кому-либо еще, вы должны вывести свою учетную запись из режима "песочницы", обратившись в службу поддержки AWS и запросив ее:

https://docs.aws.amazon.com/console/ses/sandbox

В моем случае мне нужно было снова подтвердить электронную почту в регионе, где это не удалось. Вы можете попробовать изменить свой регион в правом верхнем углу, затем снова нажмите "Подтвердить новый адрес электронной почты". ht tps:https://stackru.com/images/029632cc4108cd9bd81fdc9abbca5feda03f2173.png

Если электронная почта уже подтверждена, и вы находитесь вне Песочницы SES, убедитесь, что у вас правильный регион AWS для SMTP-сервера. Я пытался подключиться к email-smtp.eu-west-1.amazonaws.com когда мои учетные данные SMTP были для email-smtp.us-east-1.amazonaws.com сервер.

@Matt Houser уже ответил на вопросы, но я добавляю снимок экрана от июня 2020 года, который объясняет, что он сказал.

Удостовериться

  1. Вы добавляете свой адрес электронной почты в ses и получаете подтверждение.
  2. Вы включаете производственный режим для своей учетной записи.

Я подтвердил адрес электронной почты, а затем, через несколько дней, мой домен. Когда домен был полностью подтвержден (включая DKIM), я все еще получал ошибку «Адрес электронной почты не подтвержден» при попытке отправить электронные письма на адреса электронной почты в моем домене, которые не были моим конкретным проверенным адресом.

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

Имейте в виду, что проверенные личности на самом деле чувствительны к регистру. Мне было интересно, почему я получил такую ​​ошибку, хотя моя электронная почта была проверена и вышла из SandBox.

В моем случае я хотел отправить электронное письмо на тот же адрес электронной почты для подтверждения. Итак, я проверил свою электронную почту с помощью DKIM, как упоминал @Greg Wozniak. Я увидел зеленую галочку в поле и проверил:

Но я все еще видел:

      Email address is not verified. The following identities failed the check in region...

Решение в моем случае состояло в том , чтобы добавить эту функцию в код:

      def verify_email_identity():
    ses_client = boto3.client("ses", region_name="us-east-1")
    response = ses_client.verify_email_identity(
        # Email address that will receive the email 
        # In my case the same email address 
        # that was verified on Amazon SES
        EmailAddress="receipientemail@gmail.com"
    )
    print(response)

Взято с этого сайта

Итак, я получил новое электронное письмо для проверки адреса электронной почты получателя. После подтвердите адрес электронной почты получателя, щелкнув ссылку, отправленную Amazon SES. Мне удалось отправить электронное письмо с этим кодом:

      client = boto3.client('ses',region_name="us-east-1")
# Try to send the email.
try:
    #Provide the contents of the email.
    response = client.send_email(
        Destination={
            'ToAddresses': [
                receipientemail@gmail.com,
            ],
        },
        Message={
            'Body': {
                'Html': {
                    'Charset': "UTF-8",
                    'Data': "Test",
                },
            },
            'Subject': {
                'Charset': "UTF-8",
                'Data': "Test",
            },
        },
        Source=receipientemail@gmail.com,
    )
# Display an error if something goes wrong. 
except ClientError as e:
    print(e.response['Error']['Message'])
else:
    print("Email sent! Message ID:"),
    print(response['MessageId'])

У меня была эта проблема. Я проверил домен и электронную почту, даже настройки DKIM были проверены. Но все еще получаю это сообщение:

      Email address is not verified. The following identities failed the check in region {aws_region}: {email}

Я добавил SourceArn в качестве параметра для sendEmail, чем получил это сообщение:

      User `arn:aws:iam::{account_id}:user/{username}' is not authorized to perform `ses:SendEmail' on resource `arn:aws:ses:{aws_region:{account_id}:identity/{email}'

Через 2 дня я обнаружил, что использую не того пользователя IAM!

Для меня проблема заключалась в том, что я не сопоставлял случаи. Подтвержденный адрес электронной почты и отправленный адрес электронной почты должны точно совпадать.

      test@gmail.com vs Test@gmail.com

Убеждаться

-Вы отправили запрос на поддержку клиента и объяснили, в каких целях подтвердите его, до 24 человек, возможно, они спросят вас о дополнительной информации о вашем приложении.

Проблема

Путаница возникает из-за того, что ваш адрес электронной почты отображается как «Подтвержденный» в AWS SES -> Подтвержденные удостоверения и все еще не работает.

На самом деле есть две проверки:

  1. DKIM один (что делает поле зеленым и проверенным)
  2. Подтверждение адреса электронной почты

Это означает, что вы должны использовать адрес электронной почты, к которому у вас есть доступ (почтовый ящик), чтобы щелкнуть ссылку подтверждения.

Без перехода по ссылке в электронном письме ваша личность может быть подтверждена, но вы все равно будете везде видеть ошибку.

Простое решение с использованием AWS WorkMail

Я использую AWS WorkMail, но я создал новую группу вместо другой учетной записи WorkMail, затем добавил в нее свою личную учетную запись, получил электронное письмо с подтверждением и сумел заставить работать : « noreply@... ».

Поскольку вы находитесь в режиме песочницы, вы можете добавить и подтвердить адрес электронной почты: « myemail@outlook.com » для временной тренировки. В противном случае вам необходимо перейти с рабочей учетной записи на учетную запись песочницы.

У меня такая же проблема; прочитав этот документ , я понял, что некоторые параметры отсутствуют.

Если вы используетеboto3тебе следует отправитьReturnPathArnиSourceArnтоже вsend_email, это сработало для меня.

У меня была такая же проблема пару минут назад, хотя на этот раз я работаю с SDK в PHP.

Мне пришлось перепроверить код создания экземпляра SesClient.

      $SesClient = new SesClient([
    'profile' => 'default',
    'version' => '2010-12-01',
    'region'  => 'us-west-2',

]);

Я обнаружил, что регион в коде инстанцирования — us-west-2. Я вернулся к своей консоли и обнаружил, что учетная запись SES изолирована в us-east-2 (Огайо).

Я реализовал изменение в коде создания экземпляра так

      $SesClient = new SesClient([
    'profile' => 'default',
    'version' => '2010-12-01',
    'region'  => 'us-east-2',

]);

Теперь работает.

В моем случае я использовал cdk. Моя электронная почта использовала собственный домен, и домен сказал, что он проверен. При настройке электронной почты с помощью SES через cdk я не добавил атрибутsesVerifiedDomain. Установка этого значения для пользовательского домена, который я использовал, решила мою проблему.

У меня была эта проблема, и ничего из вышеперечисленного не помогло мне. Моя проблема связана именно с отправкой через python с использованием boro3. В конце концов я понял, что система, над которой я работал, имела другой набор учетных данных aws, хранящихся в системе Windows, чем в подсистеме Linux на той же машине с Windows. Решение состояло в том, чтобы установить оба набора учетных данных aws в соответствии с соответствующей учетной записью aws. Я добавляю это здесь на тот случай, если у кого-то возникнет такая же проблема, и, как и я, он не сможет найти ответ.

Обратите внимание: по крайней мере, кажется, что в песочнице SES выдаст эту ошибку, если вы установите для получателя и отправителя один и тот же адрес (даже если он проверен).

Другие вопросы по тегам