เดิมทีฉันเคยถามสิ่งนี้ใน SO แต่ดูเหมือนว่านี่เป็นสถานที่ที่เหมาะสมกว่า
โดยทั่วไป ฉันมีโปรแกรมที่ส่งอีเมลซึ่งทำงานบนเครื่องของฉันและบนเซิร์ฟเวอร์ของบริษัท อย่างไรก็ตาม จะไม่ทำงานเมื่อใช้งานบนเซิร์ฟเวอร์ของไคลเอนต์
โปรแกรมไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ smtp ได้ด้วยเหตุผลบางประการ นี่คือข้อผิดพลาดที่แน่นอน:
System.Net.Sockets.SocketException (0x80004005): ความพยายามในการเชื่อมต่อล้มเหลวเนื่องจากบุคคลที่เชื่อมต่อไม่ตอบสนองอย่างถูกต้องหลังจากช่วงระยะเวลาหนึ่ง หรือการเชื่อมต่อที่สร้างไว้ล้มเหลวเนื่องจากโฮสต์ที่เชื่อมต่อไม่ตอบสนอง
ฉันได้บันทึกการสนทนา SMTP เมื่อเกิดข้อผิดพลาดนี้ และค้างอยู่ที่ "AUTH LOGIN" จากนั้นจึงหมดเวลา
11/23/2021 17:00:13 น. - เริ่มส่งอีเมล ...
11/23/2021 17:01:15 น. - ไม่สามารถส่งอีเมลโดยมีข้อผิดพลาดต่อไปนี้:
23/11/2564 17:01:15 น. -
================================================== ==========================
#เวอร์ชัน: 7.8.0.1 - 2021/2021 17:00:13:660
================================================== ==========================
เซิร์ฟเวอร์: smtp.gmail.com
ท่าเรือ: 587
ประเภทการเชื่อมต่อ: ConnectSTARTTLS
โปรโตคอล: SMTP
ประเภทการตรวจสอบสิทธิ์: AuthAuto
UseDefaultCredentials: เท็จ
ผู้ใช้: <อีเมล>
นามแฝง:
ร่าง: ร่าง
รหัสผ่าน: <รหัสผ่าน>
EHLO: เท็จ
การวางท่อ: เท็จ
HeloDomain: <client.domain>
จดหมายจาก:
เซิร์ฟเวอร์ถุงเท้าพร็อกซี:
พอร์ตถุงเท้าพร็อกซี: 1080
ผู้ใช้ถุงเท้าพร็อกซี่:
รหัสผ่านถุงเท้า:
ProxyProtocol: ถุงเท้า5
================================================== ==========================
[17:00:13:666:Verbose] กำลังเชื่อมต่อ smtp.gmail.com 587 ...
[17:00:13:774:Verbose] เชื่อมต่อแล้ว
[17:00:14:347:S] 220 smtp.gmail.com ESMTP mu4sm722169pjb.8 - gsmtp
[17:00:14:348:C] EHLO <client.domain>
[17:00:14:566:วินาที]
250-smtp.gmail.com ที่บริการของคุณ [<client.ip>]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-การวางท่อ
250-CHUNKING
250 SMTPUTF8
[17:00:14:568:C] STARTTLS
[17:00:14:784:S] 220 2.0.0 พร้อมที่จะเริ่ม TLS
[17:00:14:898:C] EHLO <client.domain>
[17:00:15:114:วินาที]
250-smtp.gmail.com ที่บริการของคุณ [<client.ip>]
250-SIZE 35882577
250-8BITMIME
250-AUTH เข้าสู่ระบบ PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-การวางท่อ
250-CHUNKING
250 SMTPUTF8
[17:00:15:118:C] ลงชื่อเข้าใช้อัตโนมัติ
23/11/2021 17:01:15 น. - System.Net.Sockets.SocketException (0x80004005): ความพยายามในการเชื่อมต่อล้มเหลวเนื่องจากบุคคลที่เชื่อมต่อไม่ตอบสนองอย่างถูกต้องหลังจากช่วงระยะเวลาหนึ่ง หรือการเชื่อมต่อที่สร้างไว้ล้มเหลวเนื่องจากโฮสต์ที่เชื่อมต่อล้มเหลว เพื่อตอบสนอง
ฉันได้ลองทำหลายสิ่งหลายอย่างแล้ว และนี่อาจเป็นบางสิ่งที่น่าทึ่ง:
- อนุญาตพอร์ต 587 ในไฟร์วอลล์
- ไฟร์วอลล์ปิดใช้งาน
- ปิดใช้งาน Windows Defender
- เล่นรอบ TLS ที่แตกต่างกันใน
SecurityProtocol
- ลองทั้งใน smtp.gmail.com และ smtp.office365.com - ปัญหาเดียวกัน
- ในรหัสรุ่นอื่นที่
ServerCertificateValidationCallback
ถูกแทนที่ให้คืนค่าจริงเสมอ ฉันพบข้อผิดพลาดของเหตุการณ์ windows ที่บอกว่า ใบรับรองที่ได้รับจากเซิร์ฟเวอร์ระยะไกลนั้นออกโดยผู้ออกใบรับรองที่ไม่น่าเชื่อถือ ด้วยเหตุนี้จึงไม่สามารถตรวจสอบข้อมูลใด ๆ ที่มีอยู่ในใบรับรองได้ คำขอเชื่อมต่อ TLS ล้มเหลว ข้อมูลที่แนบมามีใบรับรองเซิร์ฟเวอร์
ฉันแค่ไม่รู้ว่าจะทำอะไรอีก ดูเหมือนว่าจะเป็นปัญหาเกี่ยวกับโครงสร้างพื้นฐาน ไม่ว่าจะเป็นจากโดเมน ใบรับรอง เครือข่ายของเซิร์ฟเวอร์ (เซิร์ฟเวอร์คลาวด์) ฯลฯ แต่ฉันต้องการตรวจสอบก่อนที่จะเข้าไปเกี่ยวข้อง หรืออย่างน้อยที่สุด ให้พวกเขาเป็นจุดเริ่มต้นว่าจะดูอะไรหรือที่ไหน