python – 服务器不支持STARTTLS扩展 – 尝试通过Django和私人电子邮件地址发送电子邮件时出现此错误

我使用namecheap.com注册了域名和私人电子邮件.我正在尝试通过此私人电子邮件发送电子邮件.但是,我在标题中收到错误.

在我的settings.py中,我有以下设置:

EMAIL_HOST = 'mail.privateemail.com'
EMAIL_HOST_USER = 'contact@mysite.com'
EMAIL_HOST_PASSWORD = 'my password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

我试图通过视图发送电子邮件:

send_mail(
    'Subject here',
    'Here is the message.',
    'contact@mysite.com',
    ['myname@gmail.com'],
    fail_silently=False,
)

但是,我收到此错误:

SMTPException at /
STARTTLS extension not supported by server.

知道为什么吗?任何帮助表示赞赏.

编辑

将EMAIL_USE_TLS更改为False,并将其删除以单独检查两者后,我现在收到此错误:

SMTP AUTH extension not supported by server.

知道为什么吗?谢谢!

最佳答案
你的服务器mail.privateemail.com不知道什么是STARTTLS SMTP Commnad

这可能发生在两种情况:

>您的服务器(mail.privateemail.com)根本不支持安全通信,您需要使用简单的非加密通信.
>您正在尝试连接到已经使用SSL作为通信的端口,然后STARTTLS将连接升级为安全没有任何意义.
>您的服务器配置不正确,并忽略提交端口上的STARTTLS(587).

判断,您正在连接到应该提供简单通信的端口587 – 它是1或3.

如果您希望这只是工作,请删除EMAIL_USE_TLS = True或将其设置为False,否则 – 应修复SMTP服务器配置.

转载注明原文:python – 服务器不支持STARTTLS扩展 – 尝试通过Django和私人电子邮件地址发送电子邮件时出现此错误 - 代码日志