Как использовать несколько SMTP в django_mail_admin (Gmail и Outlook)
Мы используем django_mail_admin в нашем проекте для отправки и получения электронной почты. Наше требование заключается в отправке электронной почты на оба аккаунта Gmail и Outlook. 1- Gmail аккаунт будет отправлять электронную почту на Gmail аккаунт, используя Gmail SMTP 2- Учетная запись Outlook будет отправлять электронную почту на учетную запись Outlook, используя outlook SMTP. ПРИМЕЧАНИЕ: Переключение SMTP - это функция для изменения SMTP в соответствии с Gmail и Outlook. Использование одного аккаунта Gmail :-. Gmail отправляет электронную почту на аккаунт Gmail, отправитель и получатель оба из Gmail, все работает нормально. Использование одной учетной записи Outlook :-. Outlook отправляет электронную почту на учетную запись Outlook, отправитель и получатель оба из Outlook, все работает нормально. Совместное использование Gmail и outlook Когда мы используем Gmail и outlook вместе и переключаем SMTP Gmail на Outlook, мы сталкиваемся с проблемой (отправитель не меняется, Gmail получает почту от Gmail, но Outlook получает почту от Gmail)
Use multiple SMTP by adding below code in settings.py
DJANGO_MAIL_ADMIN = {
'BACKENDS': {
'default': 'django_mail_admin.backends.CustomEmailBackend',
'smtp': 'django.core.mail.backends.smtp.EmailBackend',
}
}
EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = "any"
EMAIL_HOST_PASSWORD = "any"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
use 'default' for outlook and 'smtp' for gmail then it work for both
# If you omit `backend_alias` argument, `default` will be used
mail.send(
'from@example.com',
['recipient@example.com'],
subject='Hello',
)
# If you want to send using `smtp` backend
mail.send(
'from@example.com',
['recipient@example.com'],
subject='Hello',
backend='smtp',
)