在实际网站上发送邮件之前,我正在运行一个小型测试Django本地SMTP服务器: 我必须在 settings.py 中设置这些设置。但是我该把它放在哪里?
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
那我该怎么办?请帮忙。
答案 0 :(得分:1)
您需要将这些文件放在settings.py
文件中。您可以将以下设置放在settings.py
文件中的任何位置。
<强> settings.py 强>
...
EMAIL_HOST = 'smtp.gmail.com' # since you are using a gmail account
EMAIL_PORT = 587 # Gmail SMTP port for TLS
EMAIL_USE_TLS = True
...
<强> local_settings.py 强>
EMAIL_HOST_USER = 'your_username@gmail.com'
EMAIL_HOST_PASSWORD = 'your_gmail_password'
然后发送电子邮件,您可以使用Django&#39; send_email()
。
from django.core.mail import send_mail
send_mail('My Subject', 'My message', 'from@example.com',
['to@example.com'], fail_silently=False)
然后使用EMAIL_HOST
文件中EMAIL_PORT
和settings.py
设置中指定的SMTP主机和端口发送邮件。 EMAIL_HOST_USER
和EMAIL_HOST_PASSWORD
设置(如果已设置)用于向SMTP服务器进行身份验证,EMAIL_USE_TLS
设置控制是否使用安全连接。
send_email()的签名:
send_mail(主题,留言,from_email,recipient_list, fail_silently = False,auth_user = None,auth_password = None, connection = None,html_message = None)
注意:您可以将您的Gmail帐户信息放在local_settings.py
中,并将此local_settings
添加到git-ignore。然后在settings.py
中添加此local_settings。这样,只有您才能看到local_settings
。