เชิงเทคนิค · คำตอบพร้อมแหล่งอ้างอิง
SMTP พอร์ต 587 กับ 25: ควรใช้พอร์ตใดส่งอีเมล
ใช้พอร์ต 587 สำหรับส่งอีเมลจากไคลเอนต์หรือแอปพลิเคชันไปยังเมลเซิร์ฟเวอร์ พอร์ต 25 สงวนไว้สำหรับ relay ระหว่างเซิร์ฟเวอร์ และมักถูกผู้ให้บริการอินเทอร์เน็ต (ISP) บล็อกเพื่อป้องกันสแปม พอร์ต 587 รองรับ STARTTLS สำหรับการเข้ารหัสที่ปลอดภัย และเป็นมาตรฐานสมัยใหม่สำหรับการส่งข้อความ
พอร์ต 587 สำหรับการส่งข้อความ
พอร์ต 587 เป็นพอร์ตที่กำหนดสำหรับการส่งอีเมล โปรแกรมอีเมลอย่าง Outlook หรือแอปพลิเคชันที่พัฒนาเองใช้ส่งเมลไปยังเซิร์ฟเวอร์ SMTP พอร์ตนี้มักต้องยืนยันตัวตนและใช้คำสั่ง STARTTLS เพื่ออัปเกรดการเชื่อมต่อแบบข้อความล้วนเป็นเซสชันที่เข้ารหัส TLS อย่างปลอดภัย เพราะเป็นมาตรฐานสำหรับการส่ง ISP จึงแทบไม่บล็อก ทำให้เป็นตัวเลือกที่เชื่อถือได้สำหรับนักพัฒนา SendHQ มีเครื่องมือฟรีที่ https://sendhq.cc/tools เพื่อช่วยตรวจสอบการตั้งค่าอีเมลของคุณ
พอร์ต 25 สำหรับ relay ระหว่างเซิร์ฟเวอร์
พอร์ต 25 เป็นพอร์ต SMTP ดั้งเดิมที่ใช้ relay เมลระหว่าง Mail Transfer Agent เมื่อเมลเซิร์ฟเวอร์หนึ่งส่งข้อความไปยังอีกเครื่อง จะใช้พอร์ต 25 อย่างไรก็ตาม เพราะมีสแปมจำนวนมากจากคอมพิวเตอร์บ้านที่ถูกเจาะและสคริปต์ที่ไม่ยืนยันตัวตน ผู้ให้บริการอินเทอร์เน็ตตามบ้านและคลาวด์ส่วนใหญ่จึงบล็อกทราฟฟิกขาออกบนพอร์ต 25 การพยายามใช้พอร์ต 25 สำหรับการส่งจากแอปพลิเคชันมักส่งผลให้การเชื่อมต่อ timeout
ความต่างด้านความปลอดภัยและการเข้ารหัส
พอร์ต 587 ออกแบบมาทำงานกับ STARTTLS ซึ่งให้ไคลเอนต์และเซิร์ฟเวอร์เจรจาการเชื่อมต่อที่ปลอดภัยหลัง handshake แรก พอร์ต 25 ก็รองรับ STARTTLS ได้ แต่มักใช้กับทราฟฟิกที่ไม่เข้ารหัสในระบบเก่า สำหรับ implicit TLS บางครั้งใช้พอร์ต 465 แม้พอร์ต 587 ยังเป็นมาตรฐานที่ IANA แนะนำสำหรับการส่ง การใช้พอร์ต 587 ทำให้แน่ใจว่าการยืนยันตัวตนถูกจัดการอย่างถูกต้องก่อนรับเมลเพื่อส่ง
การเลือกพอร์ตที่เหมาะสม
หากคุณเขียนโค้ดด้วย Python, Node.js หรือใช้ไลบรารีส่งอีเมล transactional ให้เริ่มที่พอร์ต 587 เสมอ ใช้พอร์ต 25 เฉพาะเมื่อตั้งค่าเมลเซิร์ฟเวอร์เต็มรูปแบบที่ตั้งใจรับเมลจากเซิร์ฟเวอร์อื่นบนอินเทอร์เน็ต หากแอปพลิเคชันของคุณเชื่อมต่อผ่านพอร์ต 587 ไม่ได้ ให้ตรวจสอบการตั้งค่าไฟร์วอลล์หรือ security group ของผู้ให้บริการคลาวด์ เพื่อให้แน่ใจว่าอนุญาตทราฟฟิกขาออกบนพอร์ตนั้น
คำถามที่ทีมมักถาม
ทำไมพอร์ต 25 ถึงถูกบล็อก
ISP บล็อกพอร์ต 25 เพื่อหยุดสแปมบอตส่งอีเมลหลายล้านฉบับโดยตรงจากอุปกรณ์ที่ติดมัลแวร์ โดยไม่ผ่านเมลเซิร์ฟเวอร์ที่ถูกต้อง
พอร์ต 587 ปลอดภัยหรือไม่
ปลอดภัย พอร์ต 587 ใช้ STARTTLS เพื่อเข้ารหัสการสื่อสารระหว่างไคลเอนต์กับเซิร์ฟเวอร์ ปกป้องข้อมูลรับรองและเนื้อหาข้อความ
ใช้พอร์ต 465 แทนได้หรือไม่
พอร์ต 465 เดิมใช้สำหรับ SMTPS (implicit TLS) แม้ยังพบได้ทั่วไป แต่พอร์ต 587 เป็นมาตรฐานปัจจุบันสำหรับการส่งผ่าน STARTTLS