Ошибка при отправке электронной почты с помощью модуля smtplib - PullRequest
0 голосов
/ 18 июня 2019

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

Я пытался подключить сервер с помощью команд из модуля smtplib -> smtplib.SMTP_SSL (hot, port) и smtplib.SMTP (hot, port), но оба не работают.

import smtplib

server = smtplib.SMTP('IPfromCompanyServer')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 307, in _get_socket
    self.source_address)
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\socket.py", line 727, in create_connection
    raise err
  File "C:\Users\dbou\AppData\Local\Programs\Python\Python37\lib\socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

1 Ответ

0 голосов
/ 18 июня 2019

Убедитесь, что вы правильно получаете IP-адрес почтового сервера и номер порта.А некоторые клиенты, такие как Gmail, не позволяют отправлять почту автоматически, не отключив функцию безопасной передачи почты.

Кроме того, вы можете добавить этот фрагмент кода в вашу программу перед входом в систему.

 try:
        self.smtp.ehlo()
        self.smtp.starttls()
        self.smtp.ehlo
 except:
        print "No TLS "
 #login here

И, возможно, эта ссылка немного поможет: https://superuser.com/questions/1292420/sending-an-email-from-python-using-local-python-smtp-server

...