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

I'm getting an SSL Error when sending email via Django

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,
    )

当您使用的端口号不正确时会出现此错误。

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

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

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

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

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

对于 TLS,它是 587

如果不行,可以设置为False,看看发送邮件是否正常,让我们在此基础上进一步调试。