не может отправлять почту используя python - PullRequest
0 голосов
/ 25 июня 2018

Я использую следующий метод для отправки почты из Python с использованием SMTP. Я много раз пытался запустить этот код, который является правильным, но он всегда показывает мне одну и ту же ошибку, есть кто-нибудь, кто может мне помочь в этом.

import smtplib

TO = 'xxx@gmail.com'

SUBJECT = 'TEST MAIL'
TEXT = 'Here is a message from python.'

gms = 'xxxx@gmail.com'
gm = 'www'

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()`enter code here`
server.starttls()
server.login(gms, gm)

BODY = '\r\n'.join(['To: %s' % TO,
                    'From: %s' % gms,
                    'Subject: %s' % SUBJECT,
                    '', TEXT])

try:
    server.sendmail(gms, [TO], BODY)
    print('email sent')
finally:
    print('Error sending mail')
server.quit()

И ошибки: -

 Traceback (most recent call last):
      File "E:/projects/Intern/Mail/Maill.py", line 10, in <module>
        server = smtplib.SMTP('smtp.gmail.com', 587)
      File "C:\Users\KD\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 251, in __init__
        (code, msg) = self.connect(host, port)
      File "C:\Users\KD\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 336, in connect
        self.sock = self._get_socket(host, port, self.timeout)
      File "C:\Users\KD\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 307, in _get_socket
        self.source_address)
      File "C:\Users\KD\AppData\Local\Programs\Python\Python36\lib\socket.py", line 724, in create_connection
        raise err
      File "C:\Users\KD\AppData\Local\Programs\Python\Python36\lib\socket.py", line 713, in create_connection
        sock.connect(sa)
    TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Проверьте настройки брандмауэра и сети и убедитесь, что у вас открыт порт 587!В сообщении об ошибке говорится, что вы даже не можете открыть соединение с smtp.gmail.com.

0 голосов
/ 26 июня 2018

Скорее всего, это локальная проблема с вашим брандмауэром или интернет-провайдером, который, вероятно, блокирует исходящие SMTP-соединения.Нет другой причины, по которой smtp.gmail.com должен отключаться - он всегда должен быть в сети.Даже если учетные данные были неверными, вы обычно получаете умный код ошибки с сервера gmail.

Проверьте антивирусное программное обеспечение или брандмауэр.Или попробуйте использовать Web / HTTP API для отправки электронной почты вместо SMTP.

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