У меня есть небольшой скрипт Python ниже, который отправляет электронные письма на электронную почту Outlook моей компании. он отлично работает на моем персональном компьютере, но когда я развертываю его на сервере, он продолжает работать и тайм-аут, но не отправляет электронную почту.
импорт ОС
импорт smtplib
подпроцесс импорта
из системного импорта выход
cmd = 'дф-х'
p1 = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
станд, ошибка = p1.коммуникация()
вывод = std.decode ()
#print (вывод)
smtp=smtplib.SMTP('smtp.outlook.com', 587)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login('электронная почта','пароль')
subject = 'Send_Disk_Info_Daily'
тело = выход;
msg = (("subject : {} ".format(subject))+("\n\n{}".format(body)))
smtp.sendmail('электронная почта', 'электронная почта',сообщение)
smtp.выход()
Ниже приведена ошибка, когда время ожидания истекло:
Traceback (последний последний вызов):
Файл "send_disk_info.py", строка 16, в <module>
smtp=smtplib.SMTP_SSL('smtp.outlook.com', 587, время ожидания=20)
Файл "/usr/lib64/python2.7/smtplib.py", строка 789, в __init__
SMTP.__init__(self, host, port, local_hostname, timeout)
Файл "/usr/lib64/python2.7/smtplib.py", строка 255, в __init__
(код, сообщение) = self.connect(хост, порт)
Файл "/usr/lib64/python2.7/smtplib.py", строка 315, при подключении
self.sock = self._get_socket (хост, порт, self.timeout)
Файл "/usr/lib64/python2.7/smtplib.py", строка 794, в _get_socket
new_socket = socket.create_connection((хост, порт), время ожидания)
Файл "/usr/lib64/python2.7/socket.py", строка 571, в create_connection
поднять ошибку
socket.error: [Errno 101] Сеть недоступна
Я не могу подключиться к Outlook через telnet, время ожидания истекает. Смотри ниже:-
[linux_server Python]$ телнет smtp.outlook.com 587
Пытаюсь 40.101.4.2...
^ С
[linux_сервер Python]$
ниже прослушиваемые порты на этом сервере.
linux_server Python]$ netstat -tulpn|grep -i listen
(Не все процессы могут быть идентифицированы, информация о процессах, не принадлежащих
не будет отображаться, вам нужно быть root, чтобы увидеть все это.)
TCP 0 0 0.0.0.0:5666 0.0.0.0:* ПРОСЛУШАТЬ -
TCP 0 0 127.0.0.1:199 0.0.0.0:* ПРОСЛУШАТЬ -
TCP 0 0 0.0.0.0:22 0.0.0.0:* ПРОСЛУШАТЬ -
TCP 0 0 127.0.0.1:25 0.0.0.0:* ПРОСЛУШАТЬ -
tcp6 0 0 :::5666 :::* СЛУШАТЬ -
tcp6 0 0 :::37712 :::* ПРОСЛУШАТЬ 45077/java
tcp6 0 0 :::8080 :::* ПРОСЛУШАТЬ 44458/java
tcp6 0 0 :::8085 :::* ПРОСЛУШАТЬ 44458/java
tcp6 0 0 :::22 :::* СЛУШАТЬ -
tcp6 0 0 ::1:25 :::* СЛУШАТЬ -
tcp6 0 0 :::32858 :::* ПРОСЛУШАТЬ 44648/java
[linux_сервер Python]$
Может ли кто-нибудь помочь мне понять проблему и исправить ее. Или есть ли альтернативный способ настроить этот скрипт отправки электронной почты.
Любая помощь приветствуется. Заранее спасибо !