Điểm:0

Không thể kết nối với SMTP - "smtp.outlook.com",587 bằng Python2.7 từ máy chủ Linux

lá cờ in

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 !

vidarlo avatar
lá cờ ar
*Bạn đang triển khai nó ở đâu? Có vẻ như cổng 587 bị chặn gửi đi từ vị trí của bạn.
Dharmendra Kumar avatar
lá cờ in
@vidarlo vâng, có vẻ như vậy. Bất kỳ cách thay thế nào khác?
vidarlo avatar
lá cờ ar
Nói chuyện với nhà cung cấp để xem những gì họ đề xuất.
Dharmendra Kumar avatar
lá cờ in
@vidarlo nhà cung cấp có nghĩa là chủ sở hữu máy chủ?
vidarlo avatar
lá cờ ar
Vâng đúng vậy

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.