【问题标题】:SMTP AUTH extension not supported by server - Sending emails through a private host服务器不支持 SMTP AUTH 扩展 - 通过私有主机发送电子邮件
【发布时间】:2016-07-01 15:22:28
【问题描述】:

我使用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.

【问题讨论】:

  • 尝试添加SMTP_ENABLED = True

标签: python django django-email


【解决方案1】:

发生这种情况是因为您的设置有冲突:

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

您要么需要将EMAIL_USE_TLS 设置为True,要么将默认端口用于未加密连接 (25)。

【讨论】:

    【解决方案2】:

    自 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
    

    【讨论】:

      【解决方案3】:

      删除以下配置,因为“您的 EMAIL_HOST 不支持 SMTP AUTH 扩展”:

      EMAIL_HOST_PASSWORD = 'my password'
      EMAIL_PORT = 587
      

      【讨论】:

        【解决方案4】:

        我使用的服务器默认不是 Gmail,结果是端口问题,我发现我使用了错误的端口,我将其更改为 465 用于带有 TLS 的 SMTP,感谢link..

        所以这是我使用的设置:

        EMAIL_PORT = 465       
        EMAIL_USE_TLS = True
        

        【讨论】:

          猜你喜欢
          • 2013-11-14
          • 2016-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-17
          • 2015-07-25
          • 2022-06-17
          相关资源
          最近更新 更多