我在看https://docs.djangoproject.com/en/dev/topics/email/
我的问题是,我是否可以在没有身份验证的情况下使用smtp.google.com,或者无需将我的身份验证信息放入settings.py或作为django.core.mail.send_mail函数中的参数?
此时我正在寻找在django上使用smtp.google.com的最佳做法,我知道有更好的解决方案,例如http://sendgrid.com/
答案 0 :(得分:11)
如果不提供auth_information即gmail密码,则无法使用smpt.gmail.com
。
但是,您可以将您的身份验证信息放在local_settings.py
中,并且不要在版本控制中添加此local_settings,因此除了您之外没有人会看到此文件。在settings.py
。
settings.py
...
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
...
...
from local_settings import *
local_settings.py
EMAIL_HOST_USER = 'user@gmail.com'
EMAIL_HOST_PASSWORD = 'yourpassword'
答案 1 :(得分:9)
尝试将其包含在settings.py
:
# Email configuration.
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'user@domain.com'
EMAIL_HOST_PASSWORD = 'yourpassword'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'user@domain.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
如果您有网络域名提供商(如namecheap,godady等),您可以将域名(mycompany.com)与Gmail相关联。对于该功能,请在您的域名提供商处寻求帮助或在互联网上查看信息:
希望它有所帮助, 欢呼声。