Отправка SMTP по электронной почте с ошибкой Python - PullRequest
2 голосов
/ 27 мая 2010

Я не могу понять, почему это не работает. Я пытаюсь отправить электронное письмо со своего школьного адреса электронной почты с этим кодом, который я получил в Интернете. Этот же код работает для отправки с моего адреса GMail. Кто-нибудь знает, что означает эта ошибка? Ошибка возникает после ожидания около полутора минут.

import smtplib

FROMADDR = "FROM_EMAIL"
LOGIN    = "USERNAME"
PASSWORD = "PASSWORD"
TOADDRS  = ["TO_EMAIL"]
SUBJECT  = "Test"

msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n"
    % (FROMADDR, ", ".join(TOADDRS), SUBJECT) )
msg += "some text\r\n"

server = smtplib.SMTP('OUTGOING_SMTP', 465)
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.login(LOGIN, PASSWORD)
server.sendmail(FROMADDR, TOADDRS, msg)
server.quit()

И вот ошибка, которую я получаю:

<code>
    Traceback (most recent call last): 
      File "emailer.py", line 13, in 
    server = smtplib.SMTP('OUTGOING_SMTP', 465)
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/smtplib.py", line 239, in <strong>init</strong>
    (code, msg) = self.connect(host, port)
   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/smtplib.py", line 295, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/smtplib.py", line 273, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 514, in create_connection
    raise error, msg
socket.error: [Errno 60] Operation timed out

1 Ответ

2 голосов
/ 27 мая 2010

Вероятно, что SMTP-сервер вашей школы не разрешает внешний доступ к порту 587. Gmail разрешает и требует аутентификации, чтобы убедиться, что вы являетесь тем, кем вы себя называете (и поэтому спамеры не могут отправлять электронную почту, выглядящую как * 1001). * с вас, если они не знают ваш пароль). Ваша школа, возможно, решила настроить свой почтовый сервер таким образом, чтобы только соединения из в пределах школа могла отправлять почту таким способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...