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

Как Sendmail может отклонить электронную почту локальному пользователю *, если * она не пришла из доверенной подсети?

Я настроил sendmail для приема почты для нескольких доменов и для ретрансляции сообщений для систем на несколько подсетей. В последнее время на конкретный адрес, предназначенный только для внутреннего использования, поступает много спама. Меня попросили просто отбросить любую почту, предназначенную для этого адреса, если только почта не поступает с одного из компьютеров, для которого эта система будет ретранслировать почту.

Я знаю, что могу сделать это с помощью procmail, но я бы предпочел связать его с sendmail, чтобы несоответствующая электронная почта сразу отклонялась на уровне MTA. Я не могу понять, как заставить sendmail делать это (и возможно ли это вообще).

У меня sendmail настроен со следующими параметрами:

FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')`
FEATURE(`blacklist_recipients')

/etc/mail/access содержит:

example.com              RELAY
connect:192.168.15       OK
to:internal@example.com  REJECT

И я создаю /etc/mail/access.db через makemap hash /etc/mail/access.db </etc/mail/access.

Однако, когда я пытаюсь использовать эту конфигурацию, даже локальные машины получают 550 5.2.1 <internal@example.com>... Mailbox disabled for this recipient сообщения при попытке отправить на внутренний адрес.

Могу ли я настроить sendmail на то, что я хочу, и если да, то как?

Извините, я не хочу вас обидеть, но это точное содержание вашего /etc/mail/access.db?

example.com              RELAY    
connect:192.168.15       OK    
to:internal@example.com  REJECT

Потому что это должна быть хеш-карта. Вышеупомянутое должно быть содержимым вашего / etc / mail / access. Затем скомпилируйте его в карту: makemap hash /etc/mail/access.db </ etc / mail / access