Как исправить, что сеть недоступна с помощью send_mail django?

Не удалось отправить почту с помощью send_mail() django через соединение для передачи данных 3g, когда я подключаюсь к своему телефону. Это занимает некоторое время и терпит неудачу с 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 прошла успешно. Я плохо разбираюсь в сетях и поэтому не могу понять причину. EDIT Выполнение этого через localhost.


person Suziemac Tani    schedule 09.09.2015    source источник
comment
Зачем вам запускать свой сервер, привязанный к вашему телефону? Вам нужно запустить его где-нибудь на реальном хостинг-провайдере.   -  person Daniel Roseman    schedule 09.09.2015
comment
См. эту тему: stackoverflow.com/questions/14949492/   -  person simopopov    schedule 09.09.2015
comment
Я делаю это через локальную разработку, я использую свой телефон для передачи данных, данные здесь дорогие.   -  person Suziemac Tani    schedule 09.09.2015
comment
Хорошо, но, возможно, этот порт заблокирован.   -  person simopopov    schedule 09.09.2015
comment
Наиболее вероятная причина - порт, к которому вы пытаетесь подключиться, не открыт.   -  person Nabeel Ahmed    schedule 23.11.2015


Ответы (1)


Поскольку вы используете свой телефон только при локальной разработке, возможно, это вариант не отправлять электронное письмо, а просто распечатать его на консоли.

Для этого поставьте в настройках:

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

Это задокументировано здесь.

person Michiel Overtoom    schedule 09.09.2015
comment
Хотя это не тот ответ, который я ищу, это отличная работа, чтобы выполнить работу. Буду голосовать, пока жду ответа на настоящую проблему. - person Suziemac Tani; 09.09.2015