如何在Django中发送邮件?
可能重复的问题:
Django - [Errno 111] 连接被拒绝
我找到了一篇关于如何用Django发送邮件的链接:https://docs.djangoproject.com/en/dev/topics/email/。我按照例子操作了,但出现了这个:
>>> from django.core.mail import send_mail
>>> send_mail('dfdf', 'dfdfdf', 'logadrinab@agile.com.ph', ['ddcahanap@agile.com.ph'])
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/__init__.py", line 61, in send_mail
connection=connection).send()
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py", line 251, in send
return self.get_connection(fail_silently).send_messages([self])
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 79, in send_messages
new_conn_created = self.open()
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 42, in open
local_hostname=DNS_NAME.get_fqdn())
File "/usr/lib/python2.7/smtplib.py", line 239, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 295, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.7/smtplib.py", line 273, in _get_socket
return socket.create_connection((port, host), timeout)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
error: [Errno 111] Connection refused
>>>
我觉得可能是因为 EMAIL_HOST 和 EMAIL_PORT 的设置,如果真是这样的话,我该在哪里找到这些设置,怎么使用它们呢?如果不是的话,有人能给我一些关于如何在Django中发送邮件的建议吗?
提前谢谢大家...
4 个回答
0
你说得对,确实需要在settings.py文件中填写正确的主机和端口信息。你打算使用哪个服务器呢?如果是你所用的主机服务提供商的服务器,最好联系他们的客服来获取这些信息。
3
在你的项目的 settings.py 文件中,确保你设置了 EMAIL_HOST
、EMAIL_PORT
以及其他一些设置(比如如果你的邮箱服务需要验证,还要设置用户名和密码)。
另外,确保你是通过 manage.py shell 命令来运行控制台,而不是用普通的 python
控制台,这样 Django 才能正确加载这些设置。