使用EmailMessage类使用Django发送邮件

时间:2011-04-22 01:04:39

标签: python django email

我正在尝试使用Django提供的EmailMessage类发送电子邮件。我在views.py中的代码如下:

email = EmailMessage('Hello', 'My_message ', 'my@mail.com', [email])
email.attach_file('file.jpg')
email.send()

我得到[Errno 111]拒绝连接。可能是这个错误的根源是什么?在尝试使用Django中的附件发送电子邮件时,我是否应该注意其他任何设置?非常感谢

[编辑]我忘了提到我正在研究django提供的开发服务器

3 个答案:

答案 0 :(得分:1)

最有可能的是,Django无法连接到localhost上的邮件服务器。如果您查看here,请查找EMAIL_HOST,EMAIL_HOST_USER和EMAIL_HOST_PASSWORD

答案 1 :(得分:0)

在Django中设置用于测试目的的电子邮件的最简单方法是将其设置为带有SMTP的gmail帐户。

在settings.py中添加此内容。

EMAIL_HOST = 'smtp.gmail.com'

EMAIL_HOST_USER = 'user@gmail.com'

EMAIL_HOST_PASSWORD = 'your-password'

EMAIL_PORT = 587

EMAIL_USE_TLS = True

对于生产,您需要在服务器上安装某种邮件服务器,或连接到远程邮件服务器。

希望这在某种程度上有所帮助。

答案 2 :(得分:-1)

就像Chris Curvey提到的那样,您必须按照此处所述配置您的邮件设置:http://docs.djangoproject.com/en/dev/ref/settings/?from=olddocs#available-settings

使用哪种邮件主机取决于您的连接。如果您在工作,那么系统管理员应该可以告诉您使用哪些信息。如果你在自己家里,那么你的ISP可能有一个你应该使用的邮件服务器。

如果您的计算机上有一个正常运行的电子邮件客户端,那么您还应该能够在“外发邮件”中看到相应的设置或类似的内容。