服务器不支持SMTP AUTH扩展 - 通过Django中的私有主机发送电子邮件

时间:2016-07-01 15:22:28

标签: 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 = False
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,
)

我收到此错误:

SMTP AUTH extension not supported by server.

知道如何解决这个问题吗?谢谢!

4 个答案:

答案 0 :(得分:6)

这种情况正在发生,因为您的设置存在冲突:

EMAIL_PORT = 587        # Port 587 is reserved for TLS
EMAIL_USE_TLS = False   # But you have disabled TLS

您需要将EMAIL_USE_TLS设置为True或使用默认端口进行未加密连接(25)。

答案 1 :(得分:1)

我4个小时后就在寻找答案。我仍然不知道为什么这个配置适合我,但是,是的,它适用于我。

我只是删除了,

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

来自我的settings.py,并在settings.py

中添加以下配置
EMAIL_HOST = 'smtp.gmail.com'

EMAIL_HOST_USER = 'username@domain.com'

EMAIL_HOST_PASSWORD = 'mypassword'

EMAIL_PORT = 587

EMAIL_USE_TLS = True

答案 2 :(得分:0)

删除以下配置,因为您的EMAIL_HOST是“不支持SMTP AUTH扩展名”: EMAIL_HOST_PASSWORD = 'my password' EMAIL_PORT = 587

答案 3 :(得分:0)

我使用的服务器默认不是Gmail,并且将ou设为端口问题,我发现使用的端口错误,我将TLS的SMTP更改为465,将Thakns更改为此{{3} }

这是我使用的设置:

EMAIL_PORT = 465       
EMAIL_USE_TLS = True