【发布时间】:2022-06-29 08:48:04
【问题描述】:
我正在尝试使用 SendGrid 发送电子邮件,我正在使用 django-sendgrid-v5 发送电子邮件,但我不知道为什么它会抛出错误。
error
HTTP Error 401: Unauthorized"
settings.py
EMAIL_BACKEND = "sendgrid_backend.SendgridBackend"
SENDGRID_API_KEY = os.environ.get('SENDGRID_API_KEY')
view.py
from django.core.mail import send_mail
send_mail('Here subject', 'Here is the message.', 'from_email', ['to_email'], fail_silently=False)
注意:请不要将此问题标记为重复,因为我已经尝试了与此问题相关的多种解决方案,但在我的情况下没有任何效果。
【问题讨论】:
-
您是如何检查
SENDGRID_API_KEY是否正确的? -
您确定要在环境中设置 API 密钥吗? API 密钥是否有权发送电子邮件? (SendGrid API 密钥具有精细权限)。您尝试发送的电子邮件地址是verified 还是from an authenticated domain?
-
@rzlvmp 是的,我使用 sendgrid 提供的 curl 验证了密钥,我在标题中输入了 API 密钥并成功发送了电子邮件
-
确保您确实正确设置了环境变量。
-
@ZainKhan
yes I verified the key using the curl that provides by sendgrid→ 即使您使用 curl 进行了检查,但这并不意味着您的 Django 代码使用了正确的键值。尝试打印出密钥:from django.conf import settings; print('KEY:', settings.SENDGRID_API_KEY)