/ / Ako používať dve rôzne e-mailové adresy na odosielanie e-mailov? - python, django, email, django-email

Ako používať dve e-mailové adresy na odosielanie e-mailov? - python, django, e-mail, django-email

Mám projekt Django, ktorý má dve domény.

domain1.com
domain2.com

používam Sites aplikácia sa líši medzi týmito dvomi adresami:

<h1>Welcome to {% if site.id==1 %}Domain1{% else %}Domain2</h1>

Chcem odosielať správy z oboch e-mailov:

    send_email(user, "domain1@gmail.com" if site.id==1 else "domain2@gmail.com", message...)

Snažil som sa pridať from_email na EmailMessage Odosielateľ je "domain1@gmail.com".

mail = EmailMessage(subject, message, from_email="domain2@gmail.com", to=[user_email])
mail.send()

Mám len jednu settings.py takže môžem nastaviť len jeden SMTP.

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_USE_TLS = True
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 587
EMAIL_HOST_USER = "domain1@gmail.com"
EMAIL_HOST_PASSWORD = "pswd"

Viete, ako to urobiť?

EDIT: Tak som to vyskúšal:

with get_connection(
host=settings.EMAIL_HOST,
port=settings.EMAIL_PORT,
username="myemail@gmail.com",
password="mypasswd",
use_tls=settings.EMAIL_USE_TLS) as connection:
EmailMessage(subject, message, [user.email],
connection=connection).send()

"Skontroloval som to - tento kód sa volá. Nevyvoláva žiadnu výnimku, ale neodosiela e-mail."

Som si istý, že som túto adresu a e-mail testoval vo vnútri settings.py ako globálne spojenie a fungovalo.

odpovede:

2 pre odpoveď č. 1

Nastavenia v súbore settings.py môžete prepísať pomocou funkcie get_connection, ako je táto

from django.core.mail import get_connection, send_mail
from django.core.mail.message import EmailMessage

with get_connection(
host=<host>,
port=<port>,
username=<username>,
password=<password>,
use_tls=<True/False>
) as connection:
EmailMessage(subject, body, from, [to],
connection=connection).send()

Použitie s automaticky ukončí pripojenie. Ak nechcete používať s vami, budete musieť zatvoriť pripojenie manuálne pomocou connection.close()

Dokumentácia je tu -> https://docs.djangoproject.com/en/dev/topics/email/#email-backends