>> 1. В принципе, как можно выйти из создавшейся ситуации?
> Административно повлиять на "аутентифицированного" пользователя - не вариант?Можно, но завтра появистя второй, третий и т.д. За всеми не набегаешься.
>> 2. Как отбросить почту аутентифицированного пользователя с пустым адресом отправителя
>> и правильно ли это?
> Например. с помощью header_check парсить message id, и по нему отбрасывать.
> Но сама идея режектить почту с пустым mail from порочна.
>> 3. reject_unknown_recipient_domain должен проверять MX, но не делает. Почему?
> Потому что «no DNS MX _AND_ no DNS A record » Должны
> отсутствовать и MX, и А-записи.
> А вообще каша какаято. Что такое "аутентифицированный" пользователь, не вижу намеков на
> аутентификацию, как он ее проходит. То mail from пустой, то обратный
> адрес. Примеры писем и логи сессии в студию...
Хорошо, пусть будет так, возможно мы быстрее поймем друг-друга:
mydomain.local - Мой домен
lk.mydomain.local - Мой поддомен, может быть и чужой, главное чтобы была А, но не было MX записи.
import smtplib, ssl
smtp_server = "smtp.mydomain.local"
smtp_ehlo = "hostname.mydomain.local"
smtp_timeout = 5
smtp_port = 25
auth_user = "user@mydomain.local"
auth_pass = "pass"
sender_email = ""
receiver_email = "user@lk.mydomain.local"
message = """\
Subject: Hi there
This message is sent from Python."""
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, smtp_port, smtp_ehlo, smtp_timeout) as server:
server.starttls(context=context)
server.ehlo() # Can be omitted
server.login(auth_user, auth_pass)
server.sendmail(sender_email, receiver_email, message)
Я запускаю этот скрипт и почтовик письмо принимает, но через некоторое время в очереди наблюдаю:
F32459CCDE 2506 Thu Sep 12 15:53:32 MAILER-DAEMON
(delivery temporarily suspended: connect to lk.mydomain.local[x.x.x.35]:25: Operation timed out)
user@lk.mydomain.local
У меня таких писем в очереди очень много и я пока не понимаю, как не принимать письма для домена с несуществующей mx-записью.