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

时间:2019-11-11 09:44:09

标签: django email ssl smtp

ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)

这是我每次运行Django网页时都会在错误日志中看到的内容。我用Apache托管它。在页面上,我看到500:内部服务器错误。

我的电子邮件配置如下:

#Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'outlook.office365.com'
EMAIL_USE_SSL = True
EMAIL_PORT = 587
EMAIL_HOST_USER = '****@**************.com'
EMAIL_HOST_PASSWORD = '********'

我的send_mail代码如下:

send_mail(
    'Subject here',
    'Here is the message.',
    '***************@**************.com',
    ['****@**************.com'],
    fail_silently=False,
    )

2 个答案:

答案 0 :(得分:0)

当您使用的端口号不正确时,会发生此错误。

您可以在Google上搜索电子邮件服务的SMTP设置。

请检查您的电子邮件服务的正确端口号。

答案 1 :(得分:0)

您可以尝试将端口号设置为“ 465”吗?

来自文档:https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-EMAIL_USE_TLS

对于隐式SSL连接,端口号为 465

对于TLS,它是587

如果这不起作用,可以将其设置为False,然后查看发送邮件是否起作用,让我们在此之上进行进一步调试。