postfix: заставить сервер отправлять почту за пределы localhost [закрыто]

9

У меня есть php-файл, который отправляет почту с помощью функции mail (). Проблема заключается в том, что одна из форм отправляется в домен, который зарегистрирован на моем сервере, а почта обрабатывается на другом сервере. Postfix выглядит только локально. Когда он не находит адрес электронной почты, он отклоняет сообщение. Как настроить postfix для отправки почты на все домены через Интернет, а не локально?

Обновить

Хорошо. Так что это не проблема постфикса. Мне просто нужно было отключить почту на этот домен из командной строки. Для тех, кому нужна эта команда (по крайней мере, в моей системе):

/usr/local/psa/bin/domain --update example.com -mail_service false
LoneWolfPR
источник

Ответы:

4

Я решил проблему с аналогами. Когда вы пишете в своем обновлении, вы должны отключить почтовый сервис для домена по /usr/local/psa/bin/domain --update example.com -mail_service falseкоманде - это должно работать в большинстве случаев. В любом случае, я допустил еще одну ошибку, и отключение почтовой службы не было достаточным решением для меня.

Сначала я должен проверить мои настройки DNS. У меня DNS размещен вне сервера Plesk, но я установил, что DNS управляется сервером (опция по умолчанию) при создании домена - это была единственная ошибка. Тогда все работало хорошо, кроме отправки почты на домен, управляемый Plesk. Затем почта была успешно отправлена ​​с domain.tld на example@gmail.com, но не на example@domain.tld

Решением для меня было отключить службу DNS для домена в панели управления Plesk . Это можно сделать через DNS Settingsпанель управления доменом.

Борис Шушка
источник
1

Похоже, ты $mydestinationне прав. Проверьте его текущее значение в вашей системе с помощью команды:

postconf mydestination

По умолчанию postfix доставляет почту только на локальный хост, а не на весь домен:

% postconf -d mydestination
mydestination = $myhostname, localhost.$mydomain, localhost

Если вам нужно изменить это, отредактируйте /etc/postfix/main.cf.

Для получения дополнительной информации о распространенных сценариях Postfix обратитесь к стандартным примерам конфигурации . Вы также можете увидеть информацию конкретно наmydestination .

расщепление
источник
Вот как выглядит мое предназначение: mydestination = $ myhostname, localhost. $ Mydomain, localhost
LoneWolfPR
странная вещь, я изменил это, но он все еще не показывает то, что я вижу в файле main.cf
LoneWolfPR
Попробуй postfix reloadперезагрузить конфиг ...
деление
Оказывается, что решение не было в postfix для начала. Выложил обновление с ответом, так как пока не могу ответить на свои вопросы. Спасибо, что нашли время, хотя.
LoneWolfPR
Вероятно, было бы полезно узнать, что это не «ванильный» постфикс и что вы используете Plesk. ;-) Рад слышать, что это отсортировано сейчас.
деление
1

Вы также можете использовать файл / etc / postfix / transport для выборочного определения, какой сервер smtp должен обрабатывать почту каких доменов. Например, если вы хотите отправить электронное письмо mydomain.com на smtp.mydomain.com, вы можете написать в / etc / postfix / transport:

mydomain.com  smtp:[smtp.mydomain.com]

Не забудьте потом сделать postmap / etc / postfix / transport для создания файла .db, который использует postfix.

Tuncay Göncüoğlu
источник