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

dar*_*rse 7 python django django-email

我使用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
Run Code Online (Sandbox Code Playgroud)

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

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

但是,我收到此错误:

SMTPException at /
STARTTLS extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

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

编辑

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

SMTP AUTH extension not supported by server.
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?谢谢!

Jer*_*zyk 12

你的服务器mail.privateemail.com不知道什么是STARTTLSSMTP Commnad

这可能发生在两种情况:

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

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

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


kic*_*hik 1

在您的邮件服务器上设置 TLS 或使用EMAIL_USE_TLS = False.