python 通过Django发送电子邮件时出现SSL错误

avwztpqn  于 2023-01-29  发布在  Python
关注(0)|答案(1)|浏览(369)

这是我通过Django发送邮件时看到的:
[SSL用法:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地颁发者证书(_ssl. c:997)
这是我在www.example.com中的电子邮件配置settings.py:

# Email Settings
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 587
EMAIL_HOST_USER = "xxxxxxxx@gmail.com"
EMAIL_HOST_PASSWORD = "xxxxxxxxxxxxx"
EMAIL_USE_TLS = True

我是这样发送邮件的:

send_mail(
    "Subject",
    "Test message",
    settings.EMAIL_HOST_USER,
    ["xxxxxxxxx@gmail.com"],
    fail_silently=False,
)
uxh89sit

uxh89sit1#

此错误消息指示用于发送电子邮件的SSL证书存在问题。此错误的一个可能原因是所使用的证书不是来自受信任的颁发者,或者证书已过期。若要解决此问题,可能需要更新证书或将应用程序配置为使用其他证书。此外,确保允许发送电子邮件地址访问安全性较低的应用程序。
你也可以发送电子邮件通过这样做

from django.core.mail import EmailMultiAlternatives
    subject, from_email, to = emailSubject, '<your_gmail@gmail.com>', ["where you 
     want to send"]
    msg = EmailMultiAlternatives(subject, from_email, to)
    msg.send()

相关问题