Я отправляю почту с помощью 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
из файла с таким именем.