Невозможно переслать локальное письмо на внешний адрес с помощью AWS SES и postfix.

Вопрос или проблема

Я хотел бы перенаправить локальные сообщения на внешний адрес с помощью Postfix, используя AWS SES в качестве смарт-релея.

Я настроил псевдонимы в /etc/aliases:

postmaster:    root
mylocaluser:  root
root:   [email protected]

Я запустил newaliases

Я настроил смарт-релей в /etc/postfix/main.cf:

myhostname = mylocalhostname.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, mylocalhostname.local, localhost   
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:AWSUSER:AWSKEY
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = email-smtp.eu-central-1.amazonaws.com:587

Затем я попробовал:

mail -v root

Но я вижу это в логах почты:

Oct 18 12:19:46 mylocalhostname postfix/pickup[3273432]: 2383441C8C: uid=1002 from=<mylocaluser>
Oct 18 12:19:46 mylocalhostname postfix/cleanup[3293270]: 2383441C8C: message-id=<[email protected]>
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2383441C8C: from=<[email protected]>, size=398, nrcpt=1 (queue active)
Oct 18 12:19:46 mylocalhostname postfix/cleanup[3293270]: 2831A41C8B: message-id=<[email protected]>
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2831A41C8B: from=<[email protected]>, size=534, nrcpt=1 (queue active)
Oct 18 12:19:46 mylocalhostname postfix/local[3293272]: 2383441C8C: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.05, delays=0.02/0.01/0/0.02, dsn=2.0.0, status=sent (forwarded as 2831A41C8B)
Oct 18 12:19:46 mylocalhostname postfix/cleanup[3293270]: 2D51741C9E: message-id=<[email protected]>
Oct 18 12:19:46 mylocalhostname postfix/bounce[3293273]: 2383441C8C: уведомление о статусе доставки отправителя: 2D51741C9E
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2D51741C9E: from=<>, size=2113, nrcpt=1 (queue active)
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2383441C8C: удалён
Oct 18 12:19:46 mylocalhostname postfix/cleanup[3293270]: 2F3B341C8C: message-id=<[email protected]>
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2F3B341C8C: from=<>, size=2250, nrcpt=1 (queue active)
Oct 18 12:19:46 mylocalhostname postfix/local[3293272]: 2D51741C9E: to=<[email protected]>, relay=local, delay=0.01, delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (forwarded as 2F3B341C8C)
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2D51741C9E: удалён
Oct 18 12:19:46 mylocalhostname postfix/smtp[3293275]: 2F3B341C8C: to=<[email protected]>, orig_to=<[email protected]>, relay=email-smtp.eu-central-1.amazonaws.com[3.126.224.62]:587, delay=0.29, delays=0.01/0.01/0.25/0.01, dsn=5.0.0, status=bounced (host email-smtp.eu-central-1.amazonaws.com[3.126.224.62] said: 501 Invalid MAIL FROM address provided (in reply to MAIL FROM command))
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2F3B341C8C: удалён
Oct 18 12:19:46 mylocalhostname postfix/smtp[3293274]: 2831A41C8B: to=<[email protected]>, orig_to=<root>, relay=email-smtp.eu-central-1.amazonaws.com[3.126.224.62]:587, delay=0.56, delays=0.01/0.01/0.34/0.21, dsn=2.0.0, status=sent (250 Ok 010701929f23f415-32c11c76-8ff9-4209-8e6d-9f98c00a231b-000000)
Oct 18 12:19:46 mylocalhostname postfix/qmgr[3273433]: 2831A41C8B: удалён

Как видите, есть ошибка 501 Invalid MAIL FROM address provided (in reply to MAIL FROM command)), и почта не была доставлена на внешний адрес электронной почты.

Что я упускаю?

Ответ или решение

Невозможность пересылки локальной почты на внешний адрес с использованием AWS SES и Postfix

В данной ситуации вы пытаетесь настроить Postfix для пересылки локальных сообщений на внешний адрес через Amazon Simple Email Service (SES). Однако, вы сталкиваетесь с ошибкой в журнале: "501 Invalid MAIL FROM address provided". Давайте разберем вашу конфигурацию и выясним, в чем может быть проблема.

1. Проблема с адресом отправителя

Ошибка "Invalid MAIL FROM address provided" указывает на то, что адрес отправителя не соответствует требованиям, установленным Amazon SES. AWS SES проверяет, что адрес отправителя является валидным и подтвержденным адресом электронной почты.

Рекомендации:
  • Убедитесь, что используемый вами адрес отправителя (например, [email protected]) был подтвержден в консоли AWS SES. Вы можете подтверждать адреса электронной почты или доменные имена.
  • После подтверждения адреса, адрес отправителя в Postfix должен точно соответствовать этому подтвержденному адресу.

2. Конфигурация Postfix

Ваша конфигурация Postfix в /etc/postfix/main.cf в целом выглядит неплохо, однако некоторые параметры требуют дополнительного внимания.

  • Убедитесь, что в настройках /etc/aliases все адреса (включая root и mylocaluser) перенаправляются на правильный отправляемый адрес, который подтверждён в AWS SES.
Пример обновления файла /etc/aliases:
root:   [email protected]
mylocaluser:  [email protected]
  • После редактирования файла /etc/aliases не забудьте выполнить команду newaliases, чтобы обновить базы данных.

3. Настройка отправителя в Postfix

Стоит также убедиться, что правильный адрес отправителя устанавливается для каждого сообщения. Вы можете использовать параметр smtp_generic_maps в конфигурации Postfix для автоматической замены адресов отправителей.

Пример добавления в /etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
Пример файла /etc/postfix/generic:
mylocaluser   [email protected]
root          [email protected]

После этого выполните команду postmap /etc/postfix/generic и перезапустите Postfix.

4. Логи и отладка

Для лучшего понимания того, что происходит, продолжайте следить за логами Postfix, используя команду:

tail -f /var/log/mail.log

Или, в некоторых системах:

tail -f /var/log/maillog

Вывод логов поможет выявить проблемы с отправкой почты и соответствующими кодами состояния SMTP.

5. Дополнительные проверки

  • Убедитесь, что ваш AWS SES не находится в "sandbox" режиме, если вы хотите отправлять почту на адреса, не подтвержденные в SES. В этом случае вам нужно будет обратиться в поддержку AWS для перевода вашего аккаунта в продакшн режим.

  • Проверьте настройки брандмауэра и безопасности на вашем сервере, чтобы убедиться, что он может подключаться к email-smtp.eu-central-1.amazonaws.com:587.

Заключение

Чтобы успешно настроить переадресацию локальной почты на внешний адрес, важно правильно настроить Postfix с корректными адресами отправителя и удостовериться о подтверждении этих адресов в AWS SES. Проанализируйте конфигурации, проведите необходимые изменения и следите за логами для получения обратной связи о дальнейших ошибках. Если возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...