Score:0

ไม่สามารถเชื่อมต่อกับ SMTP - "smtp.outlook.com",587 โดยใช้ Python2.7 จากเซิร์ฟเวอร์ Linux

ธง in

ฉันมีสคริปต์หลามขนาดเล็กด้านล่างซึ่งส่งอีเมลไปยังอีเมล Outlook ของบริษัทของฉัน มันทำงานได้ดีบนคอมพิวเตอร์ส่วนบุคคลของฉัน แต่เมื่อฉันปรับใช้กับเซิร์ฟเวอร์ มันยังคงทำงานและหมดเวลา แต่ไม่ส่งอีเมล

นำเข้าระบบปฏิบัติการ
นำเข้า smtplib
นำเข้ากระบวนการย่อย
จากทางออกการนำเข้า sys

cmd = 'df -kh'
p1 = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
std,err = p1.communicate()
เอาต์พุต = std.decode ()
#พิมพ์ (เอาท์พุท)
smtp=smtplib.SMTP('smtp.outlook.com', 587)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()

smtp.login('อีเมล','รหัสผ่าน')


เรื่อง = 'Send_Disk_Info_Daily'
ร่างกาย = เอาท์พุท;

msg = (("เรื่อง : {} ".format(เรื่อง)))+("\n\n{}".format(body)))

smtp.sendmail('อีเมล', 'อีเมล',msg)

smtp.quit()

ด้านล่างนี้คือข้อผิดพลาดเมื่อหมดเวลา-

Traceback (การโทรครั้งล่าสุดล่าสุด):
  ไฟล์ "send_disk_info.py" บรรทัดที่ 16 ใน <โมดูล>
    smtp=smtplib.SMTP_SSL('smtp.outlook.com', 587, หมดเวลา=20)
  ไฟล์ "/usr/lib64/python2.7/smtplib.py", บรรทัด 789 ใน __init__
    SMTP.__init__(ตัวเอง, โฮสต์, พอร์ต, local_hostname, หมดเวลา)
  ไฟล์ "/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] ไม่สามารถเข้าถึงเครือข่ายได้

ฉันไม่สามารถทำ telnet เป็น outlook ได้ แถมยังหมดเวลาด้วย ดูด้านล่าง:-

[linux_server Python]$ telnet smtp.outlook.com 587
ลอง 40.101.4.2...

^ซี
[linux_server ไพธอน]$

ด้านล่างนี้คือพอร์ตการฟังบนเซิร์ฟเวอร์นี้

linux_server Python]$ netstat -tulpn|grep -i ฟัง
(ไม่สามารถระบุกระบวนการทั้งหมดได้ ข้อมูลกระบวนการที่ไม่ได้เป็นเจ้าของ
 จะไม่แสดง คุณจะต้องรูทเพื่อดูทั้งหมด)
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_server ไพธอน]$

ใครสามารถช่วยฉันเข้าใจปัญหาและแก้ไขได้ หรือมีวิธีอื่นในการกำหนดค่าสคริปต์การส่งอีเมลนี้ ความช่วยเหลือใด ๆ ที่ชื่นชม ขอบคุณล่วงหน้า !

vidarlo avatar
ar flag
* คุณกำลังปรับใช้ที่ไหน * ดูเหมือนว่าพอร์ต 587 ถูกบล็อกขาออกจากตำแหน่งที่คุณอยู่
Dharmendra Kumar avatar
in flag
@vidarlo ใช่ดูเหมือนว่าเป็นเช่นนั้น มีทางเลือกอื่นอีกไหม ?
vidarlo avatar
ar flag
พูดคุยกับผู้ให้บริการเพื่อดูว่าพวกเขาแนะนำอะไร
Dharmendra Kumar avatar
in flag
ผู้ให้บริการ @vidarlo หมายถึงเจ้าของเซิร์ฟเวอร์ ?
vidarlo avatar
ar flag
ใช่ถูกแล้ว

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา