Исправлено формирование адреса отправителя в MIME

- MAIL_USERNAME всегда используется как email-адрес
- MAIL_DEFAULT_SENDER используется только как отображаемое имя
- Исправляет ошибку SMTPSenderRefused при указании только имени отправителя
This commit is contained in:
InviteMe Developer
2026-08-31 16:43:12 +03:00
parent 13c60c69f2
commit 8b5f3f2c0c
+6 -2
View File
@@ -17,11 +17,15 @@ OUTLOOK_CONTENT_ID_PROP = "http://schemas.microsoft.com/mapi/proptag/0x3712001F"
def _build_mime_message(to_address, subject, html_body, sender_name, attachments):
"""Собирает MIME-сообщение с inline-вложениями."""
config = current_app.config
sender = config.get("MAIL_DEFAULT_SENDER") or config.get("MAIL_USERNAME", "")
sender_address = config.get("MAIL_USERNAME", "")
if not sender_address:
raise ValueError("MAIL_USERNAME должен быть указан в конфигурации")
# Имя отправителя — отдельно от email-адреса
display_name = sender_name or config.get("MAIL_DEFAULT_SENDER") or ""
msg = MIMEMultipart("related")
msg["Subject"] = subject
msg["From"] = formataddr((sender_name, sender))
msg["From"] = formataddr((display_name, sender_address))
msg["To"] = to_address
msg["Date"] = formatdate(localtime=True)
msg.attach(MIMEText(html_body, "html", "utf-8"))