簡體   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