เชิงเทคนิค · คำตอบพร้อมแหล่งอ้างอิง

SMTP ใช้พอร์ตใด: คู่มือพอร์ต SMTP มาตรฐาน

SMTP ใช้พอร์ต 25 สำหรับ relay ระหว่างเซิร์ฟเวอร์ พอร์ต 587 สำหรับการส่งเมลผ่าน STARTTLS และพอร์ต 465 สำหรับ implicit TLS พอร์ตที่ถูกต้องขึ้นอยู่กับว่าคุณกำลังส่งเมลจากไคลเอนต์ไปยังเซิร์ฟเวอร์ หรือถ่ายโอนเมลระหว่างเมลเซิร์ฟเวอร์สองเครื่อง

พอร์ต 25 สำหรับ relay

พอร์ต 25 เป็นมาตรฐานดั้งเดิมของ SMTP ใช้เป็นหลักสำหรับ relay ข้อความระหว่าง Mail Transfer Agent (MTA) ผู้ให้บริการอินเทอร์เน็ต (ISP) ตามบ้านและผู้ให้บริการคลาวด์ส่วนใหญ่บล็อกทราฟฟิกขาออกบนพอร์ต 25 เพื่อป้องกันสแปมจากอุปกรณ์ที่ถูกเจาะ นักพัฒนาควรหลีกเลี่ยงการใช้พอร์ต 25 สำหรับการส่งจากไคลเอนต์ และสงวนไว้สำหรับการสื่อสารระหว่างเซิร์ฟเวอร์

พอร์ต 587 สำหรับ submission

พอร์ต 587 เป็นมาตรฐานสมัยใหม่สำหรับการส่งอีเมล โปรแกรมอีเมลใช้ส่งข้อความไปยังเซิร์ฟเวอร์ submission พอร์ตนี้มักใช้ STARTTLS ซึ่งเริ่มเป็นการเชื่อมต่อที่ไม่เข้ารหัสและอัปเกรดเป็นการเชื่อมต่อ TLS ที่ปลอดภัย เป็นพอร์ตที่แนะนำสำหรับการเชื่อมต่อกับแอปพลิเคชันและบริการ SMTP ของบุคคลที่สาม

พอร์ต 465 สำหรับ implicit TLS

พอร์ต 465 เดิมกำหนดไว้สำหรับ SMTPS แม้เคยถูกเลิกใช้ แต่ยังใช้กันแพร่หลายสำหรับ implicit TLS ที่เข้ารหัสการเชื่อมต่อตั้งแต่แพ็กเก็ตแรก ระบบเก่าจำนวนมากและผู้ให้บริการบางรายยังต้องใช้พอร์ต 465 สำหรับการส่งที่ปลอดภัย แม้โดยทั่วไปจะนิยมพอร์ต 587 สำหรับการติดตั้งใหม่

การเลือกพอร์ตที่เหมาะสม

เพื่อเลือกพอร์ตที่ถูกต้อง ให้ระบุบทบาทของคุณในกระแสเมล หากคุณตั้งค่าเซิร์ฟเวอร์ให้รับเมลจากเซิร์ฟเวอร์อื่น ให้ใช้พอร์ต 25 หากคุณเขียนโค้ดเพื่อส่งอีเมลผ่าน API หรือ SMTP relay ให้ใช้พอร์ต 587 คุณใช้เครื่องมือฟรีของ SendHQ ตรวจสอบการตั้งค่า DNS และการยืนยันตัวตน เพื่อให้แน่ใจว่าเมลของคุณได้รับการยอมรับ ไม่ว่าจะใช้พอร์ตใด

การแก้ปัญหาการเชื่อมต่อ

การเชื่อมต่อ timeout บนพอร์ต 25 มักบ่งชี้ว่าถูก ISP บล็อก หากพอร์ต 587 ล้มเหลว ให้ตรวจสอบว่าไคลเอนต์ของคุณรองรับ STARTTLS และไฟร์วอลล์อนุญาตทราฟฟิกขาออกบนพอร์ตนั้น ตรวจสอบให้แน่ใจเสมอว่าข้อมูลรับรองการยืนยันตัวตนถูกต้อง เพราะเซิร์ฟเวอร์จำนวนมากปฏิเสธการเชื่อมต่อบนพอร์ต submission หากไม่มี SMTP AUTH ที่ถูกต้อง

คำถามที่ทีมมักถาม

พอร์ต 25 ปลอดภัยหรือไม่

พอร์ต 25 ไม่ปลอดภัยโดยค่าเริ่มต้น แม้ใช้ STARTTLS ได้ แต่มักถูก ISP บล็อกเพื่อป้องกันสแปม และไม่แนะนำสำหรับการส่งจากไคลเอนต์

พอร์ต 465 กับ 587 ต่างกันอย่างไร

พอร์ต 465 ใช้ implicit TLS หมายความว่าการเชื่อมต่อถูกเข้ารหัสทันที พอร์ต 587 ใช้ explicit TLS ผ่านคำสั่ง STARTTLS เพื่ออัปเกรดการเชื่อมต่อแบบธรรมดา

ทำไมการเชื่อมต่อ SMTP ของฉัน timeout

Timeout มักเกิดจากกฎไฟร์วอลล์หรือการบล็อกของ ISP บนพอร์ต 25 การเปลี่ยนไปใช้พอร์ต 587 มักแก้ปัญหาการเชื่อมต่อเหล่านี้ให้นักพัฒนา

แหล่งข้อมูลหลัก