使用Django的EmailMessage类发送邮件
我正在尝试使用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 个回答
-1
正如Chris Curvey提到的,你需要按照这里的说明来配置你的邮件设置:http://docs.djangoproject.com/en/dev/ref/settings/?from=olddocs#available-settings
使用哪个邮件主机取决于你的网络连接。如果你在公司工作,应该有个系统管理员能告诉你需要哪些信息。如果你在家里,那么你的网络服务提供商(ISP)可能有一个邮件服务器,你应该使用它。
如果你电脑上有一个能正常工作的邮件客户端,你也可以在“发件邮件”或者类似的设置中找到正确的配置。
0
在Django中,最简单的方式是把测试用的邮箱设置成一个Gmail账号,并使用SMTP。
在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
如果是上线使用,你就需要在你的服务器上安装一个邮件服务器,或者连接到一个远程的邮件服务器。
希望这些信息能对你有所帮助。
1
很可能,Django无法连接到本地的邮件服务器。如果你查看这里,可以找到EMAIL_HOST、EMAIL_HOST_USER和EMAIL_HOST_PASSWORD这些设置。