Как использовать несколько 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',
)
Вернуться на верх