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

Настройте sendmail для отклонения писем без адресов отправителя

Мой MTA получает много писем без указанного адреса, например:

Sep 15 17:09:57 mta1 sm-mta[46864]: STARTTLS=server, relay=mx01.aquila-capital.de [83.236.242.254], version=TLSv1/SSLv3, verify=FAIL, cipher=AES128-SHA, bits=128/128
Sep 15 17:09:57 mta1 sm-mta[46864]: s8FH9vmD046864: from=<>, size=9265, class=0, nrcpts=1, msgid=<67eb1bbb-b14d-45f2-9e61-63d058cd2d00@AC-GROUP.DE>, proto=ESMTP, daemon=Daemon0, relay=mx01.aquila-capital.de [83.236.242.254]

Я хочу сразу отклонить их без дальнейшей обработки. Насколько это безопасно и какое правило можно добавить в sendmail для этого?

То, что вы просите сделать, - очень плохая идея. По нескольким причинам:

  • Прежде всего, вы вполне можете в конечном итоге отклонить законные отказы. Это означает, что пользователи в вашем домене могут никогда не узнать, не было ли отправленное электронное письмо доставлено из-за неправильного ввода адреса или какой-либо другой ошибки.
  • Во-вторых, другие службы могут запускать сеанс SMTP для проверки правильности адресов электронной почты. Адрес электронной почты ваших пользователей может быть отклонен как недействительный на некоторых сайтах, и возможно, что некоторые домены больше не будут принимать почту из вашего домена.

Я рекомендую вместо этого сделать следующее:

  • Всегда принимаю <> как адрес отправителя.
  • Если RCPT адрес не существует, отклоните его кодом 550 независимо от того, какой был адрес отправителя.
  • Если возможно, в конце DATA вы можете сканировать содержимое, чтобы найти Message-ID происходит из вашего домена. Если ничего не найдено, вы можете отклонить письмо в конце DATA.
  • Не беспокойтесь о сообщениях журнала о попытках отправить сообщения о недоставке на несуществующие адреса. Это письмо никого не беспокоило, так как оно не было доставлено.
  • При необходимости создайте дополнительный менее подробный файл журнала.