Привет, оживляю старую тему, потому что какая-то версия патча для получателя почты, который так и не был применён, всё же попала в систему контроля версий. Со временем, по мере устаревания кода, мой модифицированный контейнер перестал работать.
Я удалил свой контейнер получателя почты, создал новый контейнер и новый API-ключ. Входящая почта на моём экземпляре Discourse снова работает… но система, кажется, снова рассылает отказы в получении писем, как в 2017 году.
Действительно, оба ответа об отказе вернулись в мой почтовый ящик, хотя письмо с ошибкой BadDestinationAddress должно было быть отклонено на уровне SMTP ещё до передачи в Discourse для дальнейшей обработки и отправки ответа. Если спамер отправит на этот сервер письмо с несуществующим адресом, это приведёт к генерации backscatter.
При прямом обращении к SMTP-серверу я вижу, что он не пытается отклонять поддельные письма.
root@discourse:/var/discourse# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ESMTP server
HELO sdfsdfsdf
250 discourse-mail-receiver.localdomain
MAIL FROM: sdfsdf@example.com
250 2.1.0 Ok
RCPT TO: sdfsdfsdf@discourse.libsdl.org
250 2.1.5 Ok
…всё это к тому, что я вижу: в стандартном образе получателя почты подключён скрипт быстрого отклонения, но, похоже, он ничего не отклоняет…?
/etc/postfix/master.cf:
policy unix - n n - - spawn user=nobody
argv=/usr/local/bin/discourse-smtp-fast-rejection
/etc/postfix/main.cf:
smtpd_recipient_restrictions = check_policy_service unix:private/policy
Нужно ли мне что-то настроить, чтобы это заработало, или есть способ глубже разобраться, почему это не работает? У других людей это работает?
Спасибо!
