Настройка отправки (с) почты в django - PullRequest
0 голосов
/ 02 марта 2020

Я настроил настройки SMTP электронной почты в файле settings.py, как показано ниже

  • EMAIL_BACKEND = 'django .core.mail.backends.smtp.EmailBackend'
  • EMAIL_USE_TLS = True
  • EMAIL_HOST = 'smtp.gmail.com'
  • EMAIL_HOST_USER = 'из почты'
  • EMAIL_HOST_PASSWORD = 'пароль'
  • EMAIL_PORT = 587

Теперь все работает нормально, но моя проблема в том, что после развертывания проекта я могу изменить любой параметр, например, from_mail / password, с помощью формы ввода пользователя ... Просто мне нужно обновить / изменить адрес электронной почты или пароль.

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

Во-первых, в документации Django конкретно сказано, что вы не должны изменять настройки во время выполнения.

https://docs.djangoproject.com/en/2.2/topics/settings/#altering -settings-at-runtime

К счастью, метод send_mail() позволяет переопределить настройки EMAIL_* по умолчанию с помощью аргументов auth_user и auth_password.

send_mail(
 'Subject here',
 'Here is the message.',
 'from@example.com',
 ['to@example.com'],
 fail_silently=False,
 auth_user='new_user',
 auth_password='new_password',
)

Документация: https://docs.djangoproject.com/en/2.2/topics/email/#send -mail

0 голосов
/ 02 марта 2020

Вы всегда можете изменить параметр при вызове функции электронной почты django:

send_mail(
 'Subject here',
 'Here is the message.',
 'from@example.com',
 ['to@example.com'],
 fail_silently=False,
)

Как установить auth_user / auth_password, объясняется здесь: Django Документы Отправка электронной почты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...