Отправить email через прокси - Python

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите пожалуйста со следующей проблемой. Я настроил отправку писем (django 1.6). Все работает, только мне необходимо теперь отправлять письма через прокси сервера, список которых находится в отдельном текстовом файле. Как это можно сделать? Мои настройки: settings.py:
Листинг программы
  1. EMAIL_HOST = 'localhost'
  2. EMAIL_PORT = 25
  3. EMAIL_HOST_USER = ''
  4. EMAIL_HOST_PASSWORD = ''
  5. EMAIL_USE_TLS = False
  6. DEFAULT_FROM_EMAIL = 'removed@mail.ru'
testsend.py:
Листинг программы
  1. # -*- coding: utf-8 -*-
  2. from django.core.management.base import BaseCommand
  3. from django.core.mail import send_mail
  4. from realtyboard.settings import MEDIA_ROOT
  5. import os
  6. class Command(BaseCommand):
  7. def handle(self, *args, **options):
  8. send_mail('test message', 'You have a message', 'removed@mail.ru', ['removed@mail.ru'], fail_silently=True)

Решение задачи: «Отправить email через прокси»

textual
Листинг программы
  1. Traceback (most recent call last):
  2.   File "manage.py", line 10, in <module>
  3.     execute_from_command_line(sys.argv)
  4.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
  5.     utility.execute()
  6.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
  7.     self.fetch_command(subcommand).run_from_argv(self.argv)
  8.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
  9.     self.execute(*args, **options.__dict__)
  10.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
  11.     output = self.handle(*args, **options)
  12.   File "/home/pc2/megoloman/realtyboard/board/management/commands/testsend.py", line 22, in handle
  13.     server = smtplib.SMTP('smtp.gmail.com', 587)
  14.   File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
  15.     (code, msg) = self.connect(host, port)
  16.   File "/usr/lib/python2.7/smtplib.py", line 316, in connect
  17.     self.sock = self._get_socket(host, port, self.timeout)
  18.   File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket
  19.     return socket.create_connection((host, port), timeout)
  20.   File "/usr/lib/python2.7/socket.py", line 562, in create_connection
  21.     sock.connect(sa)
  22.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/socks.py", line 694, in connect
  23.     negotiate(self, dest_addr, dest_port)
  24.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/socks.py", line 390, in _negotiate_SOCKS5
  25.     CONNECT, dest_addr)
  26.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/socks.py", line 416, in _SOCKS5_request
  27.     chosen_auth = self._readall(reader, 2)
  28.   File "/home/pc2/.virtualenvs/megoloman/local/lib/python2.7/site-packages/socks.py", line 241, in _readall
  29.     raise GeneralProxyError("Connection closed unexpectedly")
  30. socks.GeneralProxyError: Connection closed unexpectedly

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут