繁体   English   中英

如何使用 django 的 send_mail 修复网络无法访问?

[英]How to fix Network is unreachable with django's send_mail?

当我从手机连接时,无法通过 3g 数据连接使用 django 的send_mail()发送邮件。 需要一段时间并失败并出现Network is unreachable error

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/root/.virtualenvs/local_env/local/lib/python2.7/site-packages/django/core/mail/__init__.py", line 62, in send_mail
    return mail.send()
  File "/root/.virtualenvs/local_env/local/lib/python2.7/site-packages/django/core/mail/message.py", line 283, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/root/.virtualenvs/local_env/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 92, in send_messages
    new_conn_created = self.open()
  File "/root/.virtualenvs/local_env/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 50, in open
    self.connection = connection_class(self.host, self.port, **connection_params)
  File "/usr/lib/python2.7/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 311, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 286, in _get_socket
    return socket.create_connection((host, port), timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
error: [Errno 101] Network is unreachable

另一方面,通过4g connection发送邮件是成功的。 我对网络知之甚少,因此我无法理解原因。 编辑通过本地主机执行此操作。

由于您仅在进行本地开发时使用手机,因此不实际发送电子邮件,而只是将其打印到控制台可能是一种选择。

为此,请将其放入您的设置中:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

它记录在此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM