Назад | Перейти на главную страницу

Ошибка SMTP 550 5.1.1 при отправке электронной почты с постфиксом через amazon SES

Я слежу за этим руководство начиная со страницы 26.

Сначала я уже сделал туннель со станнелем, а также уже подключился через командная строка с серверами Amazon, то в моем конфигурационном файле postfix main.cf у меня есть следующее:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = mydomain.com ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = mydomain.com, localhost, localhost.localdomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
default_transport = error
relay_transport = error

relayhost = 127.0.0.1:2525
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

Затем, когда я пытаюсь отправить почту, я получаю эту ошибку из /var/log/mail.log:

29 февраля 22:23:03 ip-10-166-145-71 postfix / smtpd [29861]: NOQUEUE: reject: RCPT from localhost [127.0.0.1]: 550 5.1.1 mymail@gmail.com: адрес получателя отклонен: 127.0.0.1:2525; from=welcome@mydomain.com to=mymail@gmail.com proto = ESMTP helo = ip-10-166-145-71.us-west-1.compute.internal

Я уже предоставил разрешения на панели SES для welcome@mydomain.com. Также я не понимаю, почему ehlo - это "ip-10-166-145-71.us-west-1.compute.internal" ... мое / etc / mailname уже mydomain.com, также я пробовал с exim4 и результат тот же.

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

Подробный шаг за шагом взят из этого блога.

  1. Загрузите и извлеките скрипт из эта страница.

  2. Из файла README: эти сценарии получают ваш идентификатор ключа доступа AWS и секретный ключ доступа из переменных среды. Процедура установки переменных среды зависит от вашей операционной системы. Вам необходимо сделать следующее:

    • Создайте переменную среды с именем AWS_ACCESS_KEY_ID и установите для него свой идентификатор ключа доступа к AWS. Ваш идентификатор ключа доступа к AWS будет выглядеть примерно так: AKIAIOSFODNN7 ПРИМЕР.

    • Создайте переменную среды с именем AWS_SECRET_ACCESS_KEY и установите его на свой секретный ключ доступа AWS. Ваш секретный ключ доступа к AWS будет выглядеть примерно так: wJalrXUtnFEMI / K7MDENG / bPxRfiCYzEXAMPLEKEY.

  3. Протестируйте установку, отправив сообщение из Perl-скрипта.

    $ echo 'test msg' > msgbody.txt
    $ ./ses-send-email.pl -s "Test of Amazon SES" -f user@example.com user@gmail.com < msgbody.txt
    
  4. Запросить доступ к SES, перейдя на эта страница.

  5. Настроить постфикс. Измените master.cf добавить

    aws-email  unix  -       n       n       -       -       pipe
        flags=R user=support argv=/opt/thirdparty/amazon/bin/ses-send-email.pl -r -e https://email.us-east-1.amazonaws.com -f ${sender} ${recipient}
    

    Затем измените main.cf добавить

    default_transport = aws-email
    
  6. Копировать SES.pm из извлеченной папки в /user/local/lib/site_perl (если его нет, создайте), это важно!

Примечания к сценарию:

Amazon SES больше не поддерживает эти скрипты. Для доступа к Amazon SES из командной строки можно использовать интерфейс командной строки AWS или инструменты AWS для Windows PowerShell. Чтобы интегрировать свой почтовый сервер с Amazon SES, вы можете использовать интерфейс SMTP (Simple Mail Transfer Protocol) Amazon SES. Для получения дополнительной информации см. Интеграция Amazon SES с существующим почтовым сервером.

Проверьте прямую и обратную записи DNS для вашего хоста.

Карин