我尝试使用 gmail 服务器配置注册时发送电子邮件,但收到以下错误: (530, b'5.7.0 需要身份验证。了解更多信息 5.7.0 https://support.google.com/mail/?p=WantAuthError u2sm3847520edr.70 - gsmtp', 'webmaster@localhost')。 这些是我在settings.py中的配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD')
我认为您没有配置环境变量。
$ export EMAIL_HOST_USER ="yournotsosecretemail"
$ export EMAIL_HOST_PASSWORD ="yourverysecretpassword"
$ python manage.py runserver
我猜还有其他方法来存储环境变量,这只是一种方法。如果您需要一些调试帮助,请在配置后添加一些
print
语句。
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD')
print('Email:', EMAIL_HOST_USER)
print('Password:, 'EMAIL_HOST_PASSWORD)
添加settings.py环境变量:
DEFAULT_FROM_EMAIL = env("DEFAULT_FROM_EMAIL")
其中 DEFAULT_FROM_EMAIL = EMAIL_HOST_USER