我正在尝试使用Django提供的EmailMessage类发送电子邮件。我在views.py中的代码如下:
email = EmailMessage('Hello', 'My_message ', 'my@mail.com', [email])
email.attach_file('file.jpg')
email.send()
我得到[Errno 111]拒绝连接。可能是这个错误的根源是什么?在尝试使用Django中的附件发送电子邮件时,我是否应该注意其他任何设置?非常感谢
[编辑]我忘了提到我正在研究django提供的开发服务器
答案 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可能有一个你应该使用的邮件服务器。
如果您的计算机上有一个正常运行的电子邮件客户端,那么您还应该能够在“外发邮件”中看到相应的设置或类似的内容。