Я пытаюсь отключить локальную доставку почты на своем сервере sendmail (CentOs 8). Я читал много сообщений об этом (например: Отключить локальную доставку в Sendmail), но никакие тенты не работают.
У меня в основном стандартная установка sendmail, и я использую Google Apps для обработки почты для этого домена. Отправка почты работает нормально, однако при отправке почты в локальный домен почта не отправляется. Журнал sendmail всегда выдает следующую ошибку:
May 15 11:21:03 example sendmail[8443]: 04F9L3Ru008443: 04F9L3Rv008443: return to sender: User unknown
May 15 11:21:03 example sendmail[8443]: 04F9L3Rv008443: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32691, relay=aspmx.l.google.com. [74.125.143.27], dsn=5.1.1, stat=User unknown
Любая другая почта доставляется в порядке. При беге:
echo '$={w}' | /usr/sbin/sendmail -bt
Здесь указан домен, на который я пытаюсь отправить, поэтому он считается локальным.
Я пытался добавить:
define(`MAIL_HUB', `example.com.') dnl
define(`LOCAL_RELAY', `example.com.') dnl
В файле sendmail.mc повторная выборка и перезапуск службы, но это не работает. Я всегда получаю указанную выше ошибку.
Я также пробовал разные другие вещи, например:
(define(
confDONT_PROBE_INTERFACES ',True')
)DNS и другие настройки кажутся правильными. При использовании DIG я получаю правильные записи MX. Кроме того, при просмотре журнала (см. Выше) он подключается к записям Google MX.
Я уверен, что что-то упустил, но не могу понять.
Обновление: проблема в том, что имя хоста сервера совпадает с именем отправляющего домена. Но я не могу понять, как обойти это, не переименовав имя хоста сервера.
Спасибо за ваше время!
Я нашел решение этой проблемы. Не уверен, что это лучшее решение, но оно работает.
Добавьте в файл sendmail.mc следующее:
LOCAL_CONFIG
Kbestmx bestmx -T.TMP
LOCAL_RULE_0
R $* < @ example.com. > $* $#esmtp $@ [$(bestmx example.com. $)] $: $1 < @ vrijevakantiehuizen.nl. > $2
Обратите внимание, что копирование и вставка может не работать. Пробел между последней строкой $ * и $ # esmtp - это 2 табуляции (без пробелов).
Теперь sendmail доставляет почту для example.com в лучшую запись MX, которую может найти, вместо того, чтобы рассматривать этот домен как локальный.
Не забудьте перекомпилировать файл (команда: / etc / mail / make) и перезапустить sendmail. После этого моя проблема решена.