我已将sendgrid集成到我的应用程序中,如下所示:
SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "from@example.com"
我按如下所示从manage.py shell运行了一个测试,并且收到了测试电子邮件。
from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com',
['to@example.com'])
在我的网站上,单击“忘记密码”并填写注册用户的电子邮件后,该页面将重定向到显示已发送电子邮件的页面。但是我没有收到任何电子邮件。没有调试信息,我无法弄清楚哪里出了问题。
如果有帮助,我在pythonanywhere上。我集成了allauth,以便用户可以使用电子邮件(而不是用户名)登录。
答案 0 :(得分:0)
我正在Pythonanywhere上使用付费帐户。我发现了问题。 ISP由于某些原因拒绝了该电子邮件。当我将帐户更改为另一封电子邮件时,效果很好。在sendgrid仪表板上看到一些请求已提交但未交付后,我意识到了这一点。