我试图从我的基于django的网站发送电子邮件,但我遇到了一些问题- SMTPServerDisconnected连接意外关闭了我的setting.py:
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'me@mydomain.com'
EMAIL_HOST_PASSWORD = 'XXXXXX'
我使用的是django 1.5.1,python 2.7.3。有谁能解决这个问题吗?
谢谢你的帮忙
发布于 2015-04-29 22:47:35
在我的例子中,我收到的是:
SMTPServerDisconnected: Connection unexpectedly closed
使用这些设置:
EMAIL_PORT = 465
EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_HOST_USER = 'dio@streetbarz.com'
EMAIL_HOST_PASSWORD = 'password'
设置server.set_debuglevel(1)后,我发现我的DEFAULT_FROM_EMAIL与EMAIL_HOST_USER不同
DEFAULT_FROM_EMAIL = "dio@streetbarz.com"
添加它解决了这个问题。
发布于 2014-10-17 04:15:39
如果你想通过电子邮件获得错误报告,那么B.Welsh的答案并不能解决这个问题。
因此,对于任何需要它的人:
Zoho的TLS的端口是587,正如他们的SMTP Server Configuration Page中所定义的。该页面还指出,您不能使用与您正在使用的电子邮件不同的"from“,否则它将无法通过。
在settings.py
中有你需要的代码来通过电子邮件获得错误报告:
DEBUG = False
TEMPLATE_DEBUG = DEBUG
ADMINS = (('Yourname', 'youremail@yourdomain.com'),)
SERVER_EMAIL = constants.SENDER_EMAIL
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = constants.SENDER_EMAIL
EMAIL_HOST_PASSWORD = constants.EMAIL_PASSWORD
发布于 2014-12-31 00:31:53
我有一种使用django 1.6.8发送的方法。首先,您必须安装GitHub中提供的django-smtp-ssl。运行代码:
pip install django-smtp-ssl
并将以下内容添加到您的settings.py:
EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'mail.example.com'
EMAIL_PORT = 465
https://stackoverflow.com/questions/18335697
复制相似问题