Исправлено формирование адреса отправителя в MIME
- MAIL_USERNAME всегда используется как email-адрес - MAIL_DEFAULT_SENDER используется только как отображаемое имя - Исправляет ошибку SMTPSenderRefused при указании только имени отправителя
This commit is contained in:
@@ -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):
|
def _build_mime_message(to_address, subject, html_body, sender_name, attachments):
|
||||||
"""Собирает MIME-сообщение с inline-вложениями."""
|
"""Собирает MIME-сообщение с inline-вложениями."""
|
||||||
config = current_app.config
|
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 = MIMEMultipart("related")
|
||||||
msg["Subject"] = subject
|
msg["Subject"] = subject
|
||||||
msg["From"] = formataddr((sender_name, sender))
|
msg["From"] = formataddr((display_name, sender_address))
|
||||||
msg["To"] = to_address
|
msg["To"] = to_address
|
||||||
msg["Date"] = formatdate(localtime=True)
|
msg["Date"] = formatdate(localtime=True)
|
||||||
msg.attach(MIMEText(html_body, "html", "utf-8"))
|
msg.attach(MIMEText(html_body, "html", "utf-8"))
|
||||||
|
|||||||
Reference in New Issue
Block a user