Tôi có một tập lệnh python nhỏ bên dưới để gửi email đến email triển vọng của công ty tôi. nó hoạt động tốt trên máy tính cá nhân của tôi nhưng khi tôi triển khai nó lên máy chủ thì nó vẫn chạy và hết thời gian chờ nhưng không gửi được email.
nhập hệ điều hành
nhập smtplib
quy trình con nhập khẩu
từ thoát nhập sys
cmd = 'df -kh'
p1 = sub process.Popen(cmd,shell=True,stdout=sub process.PIPE,stderr=sub process.PIPE)
std,err = p1.giao tiếp()
đầu ra=std.decode()
#in (đầu ra)
smtp=smtplib.SMTP('smtp.outlook.com', 587)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login('email','mật khẩu')
chủ đề = 'Gửi_Disk_Info_Daily'
thân = xuất;
msg = (("chủ đề : {} ".format(subject))+("\n\n{}".format(body)))
smtp.sendmail('email', 'email', tin nhắn)
smtp.quit()
Dưới đây là lỗi khi hết thời gian chờ-
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "send_disk_info.py", dòng 16, trong <module>
smtp=smtplib.SMTP_SSL('smtp.outlook.com', 587, timeout=20)
Tệp "/usr/lib64/python2.7/smtplib.py", dòng 789, trong __init__
SMTP.__init__(bản thân, máy chủ, cổng, local_hostname, thời gian chờ)
Tệp "/usr/lib64/python2.7/smtplib.py", dòng 255, trong __init__
(mã, tin nhắn) = self.connect(máy chủ, cổng)
Tệp "/usr/lib64/python2.7/smtplib.py", dòng 315, trong kết nối
self.sock = self._get_socket(máy chủ, cổng, self.timeout)
Tệp "/usr/lib64/python2.7/smtplib.py", dòng 794, trong _get_socket
new_socket = socket.create_connection((máy chủ, cổng), hết thời gian chờ)
Tệp "/usr/lib64/python2.7/socket.py", dòng 571, trong create_connection
tăng lỗi
socket.error: [Errno 101] Không thể truy cập mạng
Tôi không thể thực hiện telnet đến triển vọng, nó cũng đã hết thời gian chờ. xem bên dưới:-
[linux_server Python]$ telnet smtp.outlook.com 587
Đang thử 40.101.4.2...
^C
[linux_server Python]$
bên dưới là các cổng đang nghe trên máy chủ này.
linux_server Python]$ netstat -tulpn|grep -tôi lắng nghe
(Không phải tất cả các quy trình đều có thể được xác định, thông tin quy trình không thuộc sở hữu
sẽ không được hiển thị, bạn sẽ phải root để xem tất cả.)
tcp 0 0 0.0.0.0:5666 0.0.0.0:* NGHE -
tcp 0 0 127.0.0.1:199 0.0.0.0:* NGHE -
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE -
tcp 0 0 127.0.0.1:25 0.0.0.0:* NGHE -
tcp6 0 0 :::5666 :::* NGHE -
tcp6 0 0 :::37712 :::* NGHE 45077/java
tcp6 0 0 :::8080 :::* NGHE 44458/java
tcp6 0 0 :::8085 :::* NGHE 44458/java
tcp6 0 0 :::22 :::* NGHE -
tcp6 0 0 ::1:25 :::* NGHE -
tcp6 0 0 :::32858 :::* NGHE 44648/java
[linux_server Python]$
Ai đó có thể giúp tôi hiểu vấn đề và khắc phục nó. Hoặc có cách nào khác để định cấu hình tập lệnh gửi email này không.
Bất kỳ trợ giúp được đánh giá cao. Cảm ơn trước !