Я настроил 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