Почтовый сервер настроен для входящей почты на поддомене для запуска PHP-скрипта

Почтовый сервер настроен для входящей почты на поддомене для запуска PHP-скрипта

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

Связанный контент