
Я пытаюсь настроить сервер моей компании так, чтобы он мог получать электронные письма на определенную учетную запись на поддомене нашего основного домена, а именно:[email protected]
Эти входящие почтовые программы должны запускать PHP-скрипт, который будет выполнять некоторую обработку контента.
Я использую Ubuntu Server 20.0.4, Postfix установлен, Dovecot установлен, я также пытался использовать Courier, так что он тоже там есть, но у меня не получилось его запустить.
Я зашел так далеко:
- Я создал пользователя Linux и настроил Postfix для использования локальных учетных записей в качестве допустимых почтовых ящиков.
- Я настроил postfix для приема входящей почты на subdomain.domain.com
- Я добавил записи A и MX для поддомена, чтобы правильно маршрутизировать в доменах Google.
- Я настроил SSL на поддомене (подтверждено, что он работает правильно в ssllabs и через Apache при переходе на указанный поддомен)
- Я добавил дополнительную конфигурацию в /etc/postfix/master.cf для запуска скрипта php (сейчас это просто тестовый скрипт/заполнитель):
smtp inet n - - - - smtpd
-o content_filter=myhook:dummy
...
# PHP SCRIPT HOOK
myhook unix - n n - - pipe
flags=F user=www-data argv=/path/to/script/MailParser.php ${sender} ${size} ${recipient}
Скрипт MailParser.php просто запускает запись в файл журнала, сообщая: «Успешно получено входящее сообщение в timestamp
...»
Если я отправлю письмо через smtper.net с этими настройками
- ХОСТ поддомен.домен.com
- ПОРТ 25
- Использовать защищенное соединение, отмечено галочкой
- Электронное письмо от:[email protected]
- Электронная почта:[email protected]
Он успешно запускает скрипт для записи в журнал, и я вижу «тестовое» сообщение от smtper.net в системной почте пользователя, так что, похоже, все в порядке.
Однако если я попытаюсь отправить письмо через обычный почтовый клиент, например, через учетную запись Gmail, я получаю сообщение о невозможности доставки с ошибкой:
550 5.1.1 Учетная запись электронной почты, к которой вы пытались обратиться, не существует. Попробуйте еще раз проверить адрес электронной почты получателя на наличие опечаток или ненужных пробелов. Узнайте больше наhttps://support.google.com/mail/?p=NoSuchUserf16si1842833plj.1 - gsmtp
Я застрял на этом этапе.
решение1
Проблема оказалась в записях MX, как указал @anx. Кроме того, SSL-сертификат на домене не был полностью настроен, что также вызывало проблемы. В остальном мои локальные конфигурации сервера были настроены правильно.