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

Заставить sendmail игнорировать локальный домен при отправке почты (FreeBSD)

Я отправляю почту с помощью PHP. Все работает хорошо, пока я не отправлю почту на домен (@ example.com), который у меня находится в /etc/rc.conf >> hostname = "box.example.com".

Я предполагаю, что sendmail перехватывает почту для этого домена (даже когда я использую его поддомен в rc.conf) перед отправкой в ​​мир. Итак, как я могу заставить sendmail игнорировать локальные домены, отличные от localhost?

Это повторяющийся вопрос, но я впервые вижу его для FreeBSD. Видеть этот ответ о том, как отредактировать файл freebsd.mc. Поскольку приведенная выше ссылка отвечает на вопрос о Debian, вот что вам нужно сделать во FreeBSD:

# cd /etc/mail
# cp freebsd.mc box.example.com.mc
# vi box.example.mc (and follow the instructions of the link above)
# make all install restart

Теперь вы можете протестировать решение.

Поскольку вы пишете это /etc/mail/local-host-names не существует, запустите sendmail в тестовом режиме с sendmail -bt а затем на > тип подсказки $=w. Это перечислит вам все имена, которые sendmail считает локальными. В этом списке вы увидите box.example.com.

Узнайте, какой файл содержит имена ваших локальных хостов с помощью grep -i '^fw' sendmail.cf. удалять example.com из файла с таким именем.