为什么我的send_mail()命令在Django中不起作用?

时间:2009-04-11 01:00:41

标签: python django email

我在settings.py文件中添加了以下内容。电子邮件地址有一个测试版。我在Webfaction的网站上找到了电子邮件设置:

EMAIL_HOST = 'smtp.webfaction.com'
EMAIL_HOST_USER = 'hekevintran_test'
EMAIL_HOST_PASSWORD = 'testpass'
EMAIL_PORT = 465
EMAIL_USE_TLS = True

这就是我的文件:

from django.core.mail import send_mail

send_mail(subject='subject',
          message='message',
          from_email='hekevintran_test@webfaction.com',
          recipient_list=['recipient@yahoo.com'],
          fail_silently=False)

当我运行上述操作时,它会拖延很长时间然后给我这个错误:

SMTPServerDisconnected: Connection unexpectedly closed

我做错了什么?

3 个答案:

答案 0 :(得分:11)

我现在有一个关于Webfaction的Django项目正在发送电子邮件。您和我的设置之间的唯一区别是我没有指定EMAIL_PORTEMAIL_USE_TLS。在没有这些设置的情况下尝试一下,让Django使用默认设置并查看它是否有效。

为了参考,the default settings是:

EMAIL_PORT = 25
EMAIL_USE_TLS = False

答案 1 :(得分:1)

我在asmallorange.com上的托管帐户遇到了这个问题。在那里,这是一个防火墙问题。我建议联系支持并确保端口465可以通过防火墙。

答案 2 :(得分:0)

我也有这个问题。我删除了EMAIL_PORT并设置了EMAIL_USE_TLS = True。现在是工作。