django-allauth-sendgrid密码重置电子邮件未收到

问题描述

我已将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,以便用户可以使用电子邮件(而不是用户名登录

解决方法

我正在Pythonanywhere上使用付费帐户。我发现了问题。 ISP由于某些原因拒绝了该电子邮件。当我将帐户更改为另一封电子邮件时,效果很好。在sendgrid仪表板上看到一些请求已提交但未交付后,我意识到了这一点。