Вопрос или проблема
Я хотел бы перенаправить локальные сообщения на внешний адрес с помощью 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. Проанализируйте конфигурации, проведите необходимые изменения и следите за логами для получения обратной связи о дальнейших ошибках. Если возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.