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

Передать всю почту Postfix для домена PHP-скрипту - Centos7 / EC2

Я прочитал несколько статей, включая сообщения здесь, но, похоже, нет четкого краткого ответа.

У меня CentOS7 работает под управлением Postfix на экземпляре EC2 на AWS. Я хочу направлять все электронные письма для домена (@ support.mydomain.com) в сценарий PHP. Имя хоста сервера не соответствует домену (имя хоста по умолчанию ip-1-2-3-4.awsregion.internal.compute).

Я установил запись MX для support.mydomain.com, указывающую на www.mydomain.com.

Из того, что я прочитал, мне нужен virtual alias для обработки домена.

Я пытался:

/var/log/maillog показывает электронную почту с ошибкой «454 4.7.1 Relay access denied» - по крайней мере, это показывает, что DNS / брандмауэры в порядке ...

Был бы признателен, куда идти дальше, или новое руководство с самого начала.

Удивительно, но комментарий Уомбла помог, и я был очень близок со своим первоначальным вопросом.

Это сработало для меня. Это нужно для перенаправления / перенаправления всей электронной почты для одного домена (не в имени хоста) в php-скрипт на сервере CentOS с использованием Postfix (при условии, что вы имеете дело с DNS и selinux / firewall):

  1. Виртуальный псевдоним

    Перенаправить электронное письмо локальному пользователю, обновив /etc/postfix/virtual:

    @support.mydomain.com apache@localhost

    Восстановите виртуальный псевдоним db с помощью postmap /etc/postfix/virtual.

  2. Скажите Postfix использовать наш виртуальный псевдоним db в /etc/postfix/main.cf:

    virtual_alias_maps = hash:/etc/postfix/virtual

  3. Виртуальный домен

    Обновить /etc/postfix/main.cf с виртуальным доменом, поэтому он знает, что принимать электронную почту для вашего домена, иначе вы получите ошибку «454 4.7.1 Relay access denied»:

    virtual_alias_domains = support.mydomain.com

  4. Принять подключения

    Скажите postfix, чтобы разрешить соединения из Интернета (не только локального), обновив /etc/postfix/main.cf:

    inet_interfaces=all

  5. Обновить псевдоним

    Обновить /etc/aliases для перенаправления электронной почты, адресованной локальному пользователю, в сценарий:

    #apache:root (отключите любую существующую запись для вашего локального пользователя) apache: "|sudo /usr/bin/php -q /var/www/mydomain.com/my-script.php"

  6. Восстановить псевдонимы и перезапустить Postfix

    sudo newaliases sudo postfix reload sudo service postfix restart

Надеюсь, это поможет другим, похоже, по этому поводу не было скомпилированной / сжатой публикации.