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

Отключить локальную доставку sendmail

Я пытаюсь отключить локальную доставку почты на своем сервере 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 повторная выборка и перезапуск службы, но это не работает. Я всегда получаю указанную выше ошибку.

Я также пробовал разные другие вещи, например:

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. После этого моя проблема решена.