Django, пароль sendmail не из настроек - PullRequest
0 голосов
/ 09 апреля 2019

Я использую Djangos sendmail, и я не буду использовать пароль из настроек.

Текущее использование им в настройках

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'my Email'
EMAIL_HOST_PASSWORD = 'its secret'
EMAIL_PORT = 587

И, на мой взгляд, я использую:

from django.core.mail import EmailMultiAlternatives
EMAIL_HOST_PASSWORD = current_user.profile.gmail_app_pass
EMAIL_HOST_USER = email_user = request.user.email
toaddr = 'to@email'
tocc = 'toCC@email'
user_bcc = 'toBCC@email'
subject = 'Test Email from Django'
msgHtml = '<p>This is an <strong>important</strong> message.</p>'            

msg = EmailMultiAlternatives(subject, msgHtml, EMAIL_HOST_USER, [toaddr],  bcc=[user_bcc], cc=[tocc])
msg.attach_alternative(msgHtml, "text/html")
msg.send()

а как мне переписать настройки из настроек? В моем случае EMAIL_HOST_PASSWORD и EMAIL_HOST_USER

Я использую Django 2.1 на Python 3.6

1 Ответ

0 голосов
/ 09 апреля 2019

Вы можете хранить пароль на .env файлах. Я рекомендую использовать python decouple для своей работы После того, как вы сможете извлечь переменную

.env

EMAIL_PASSWORD=Mypassword
EMAIL_USE_TLS=True
EMAIL_HOST=smtp.gmail.com
....

settings.py

EMAIL_HOST_PASSWORD = config('EMAIL_PASSWORD')
....
...