Python 服务器不支持SMTP身份验证扩展-通过Django中的专用主机发送电子邮件
我使用namescape.com注册了一个域名和一封私人电子邮件。我正在尝试通过此私人电子邮件发送电子邮件。然而,我在标题中发现了错误 在my settings.py中,我有以下设置:Python 服务器不支持SMTP身份验证扩展-通过Django中的专用主机发送电子邮件,python,django,django-email,Python,Django,Django Email,我使用namescape.com注册了一个域名和一封私人电子邮件。我正在尝试通过此私人电子邮件发送电子邮件。然而,我在标题中发现了错误 在my 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_
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
EMAIL_PORT = 587 # Port 587 is reserved for TLS
EMAIL_USE_TLS = False # But you have disabled TLS
我正在尝试通过以下视图发送邮件:
send_mail(
'Subject here',
'Here is the message.',
'contact@mysite.com',
['myname@gmail.com'],
fail_silently=False,
)
我得到这个错误:
SMTP AUTH extension not supported by server.
你知道怎么解决这个问题吗?谢谢 发生这种情况是因为您有冲突的设置:
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
EMAIL_PORT = 587 # Port 587 is reserved for TLS
EMAIL_USE_TLS = False # But you have disabled TLS
您需要将
EMAIL\u USE\u TLS
设置为True
,或者使用默认端口进行未加密连接(25
)。我从4小时以来一直在搜索答案。我仍然不知道为什么这个配置适合我,但是是的,它适合我
我只是简单地删除
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
从my 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
删除以下配置,因为您的电子邮件\u主机“不支持SMTP验证扩展”:
电子邮件\u主机\u密码='我的密码'
电子邮件端口=587
我使用的服务器在默认情况下不是Gmail,并将ou设置为端口问题,我发现我使用了错误的端口,我将带有TLS的SMTP的端口更改为465,Thakns改为此
以下是我使用的设置:
EMAIL_PORT = 465
EMAIL_USE_TLS = True
尝试添加
SMTP\u ENABLED=True