我正在使用Django的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
我在Python 3.6上使用Django 2.1
您可以将密码存储在.env
文件中。我建议使用python decouple fot他的工作后你可以检索变量
.ENV
EMAIL_PASSWORD=Mypassword
EMAIL_USE_TLS=True
EMAIL_HOST=smtp.gmail.com
....
settings.朋友
EMAIL_HOST_PASSWORD = config('EMAIL_PASSWORD')
....