我正在查看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/
我正在查看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/
smpt.gmail.com
如果不提供您的 auth_information 即您的 gmail 密码,您将无法使用。
但是,您可以将您的身份验证信息放在 a 中local_settings.py
,并且不要在版本控制中添加这个 local_settings,这样除了您之外没有人会看到这个文件。将此 local_settings 包含在您的settings.py
.
设置.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'
尝试将其包括在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 相关联。对于该功能,请向您的域提供商寻求帮助或在 Internet 中查看信息:
希望有帮助,加油。