เว็บนี้มีลิงก์ affiliate — หากสมัครผ่านลิงก์ เราได้รับค่าคอมมิชชัน · Affiliate links.

ทำไมส่งอีเมลจาก DigitalOcean Droplet ไม่ได้ — และวิธีแก้ 2026

SMTP ports are blocked by default on every Droplet — here's how to work around it.

ทำไมส่งอีเมลจาก DigitalOcean Droplet ไม่ได้ — และวิธีแก้ 2026

ปัญหา: ส่งอีเมลจาก Droplet ไม่ออก

ผู้ใช้ DigitalOcean จำนวนมากเจอปัญหาเดียวกันคือส่งอีเมลจากเว็บไซต์หรือแอปพลิเคชันบน Droplet ไม่ได้ ทั้งที่ตั้งค่า SMTP ถูกต้องแล้ว สาเหตุไม่ได้อยู่ที่โค้ดหรือการตั้งค่าเซิร์ฟเวอร์เมล แต่เป็นเพราะ DigitalOcean บล็อกพอร์ตที่ใช้ส่งอีเมลไว้ตั้งแต่ระดับเครือข่ายของแพลตฟอร์ม

Many DigitalOcean users hit the same wall: outbound email fails even with correct SMTP settings, because the platform blocks mail ports at the network level.

พอร์ตที่ถูกบล็อก

จากการรีวิวหลายรอบ digitalOcean บล็อกพอร์ต SMTP มาตรฐานสามพอร์ตคือ 25, 465 และ 587 บน Droplet ทุกเครื่องโดยดีฟอลต์ ครอบคลุมทั้งการเชื่อมต่อผ่าน IP ปกติและ Reserved IP ด้วย หมายความว่าต่อให้ผูก Reserved IP เข้ากับ Droplet ก็ยังโดนบล็อกอยู่ดี

ทำไม DigitalOcean ถึงบล็อก

เหตุผลหลักคือการป้องกันสแปมและการใช้งานในทางที่ผิด เพราะ Cloud provider ราคาย่อมเยาที่เปิดพอร์ต 25 ให้อิสระมักถูกมิจฉาชีพใช้สร้างเซิร์ฟเวอร์ส่งสแปมจำนวนมาก ซึ่งจะทำให้ IP range ทั้งหมดของผู้ให้บริการถูกขึ้นบัญชีดำ (blacklist) และกระทบผู้ใช้สุจริตทุกคนที่ใช้ IP ในช่วงเดียวกัน การบล็อกไว้ตั้งแต่ต้นจึงเป็นการป้องกันปัญหาระดับแพลตฟอร์ม

สรุปสิ่งสำคัญ: ป้องกันไม่ให้ Droplet ถูกใช้เป็นเครื่องส่งสแปม

ทำไมไม่ควรตั้งเมลเซิร์ฟเวอร์เอง

แม้จะขอปลดบล็อกพอร์ตได้สำเร็จ DigitalOcean เองก็แนะนำว่าไม่ควรรันเมลเซิร์ฟเวอร์บน Droplet เอง เพราะการดูแลเมลเซิร์ฟเวอร์ให้ปลอดภัยและไม่ถูกมองว่าเป็นสแปมเป็นงานที่ซับซ้อนและต้องดูแลต่อเนื่อง ตั้งแต่การตั้งค่า SPF/DKIM/DMARC ไปจนถึงการเฝ้าระวังชื่อเสียงของ IP ตลอดเวลา

ทางเลือก: ใช้บริการ SMTP relay / Email API

ในประสบการณ์ของเรา วิธีที่ใช้กันทั่วไปในทางปฏิบัติคือเปลี่ยนไปใช้บริการส่งอีเมลของบุคคลที่สาม (Email-as-a-Service) แทนการรันเมลเซิร์ฟเวอร์เอง บริการเหล่านี้ดูแลเรื่อง IP reputation, DKIM/SPF และ deliverability ให้อยู่แล้ว เชื่อมต่อผ่าน API หรือ SMTP relay ก็ได้ ตัวอย่างผู้ให้บริการที่นิยมใช้กันในกลุ่มนักพัฒนา ได้แก่ SendGrid, Mailgun, Postmark และ Amazon SES

วิธีติดตั้ง SMTP relay กับเว็บ/แอปบน Droplet

ขั้นตอนโดยรวมคล้ายกันไม่ว่าจะใช้ผู้ให้บริการเจ้าไหน คือสมัครบัญชี รับค่า SMTP credentials หรือ API key มา แล้วนำไปตั้งค่าในระบบส่งเมลของเว็บแอป เช่น ปลั๊กอิน WordPress, ไฟล์ .env ของ Laravel หรือ environment variable ของแอป Node.js จากนั้นทดสอบส่งเมลจริงก่อนใช้งานโปรดักชัน

ขอปลดบล็อกพอร์ตกับ DigitalOcean Support

จากการรีวิวหลายรอบ สามารถติดต่อ DigitalOcean Support เพื่อสอบถามเรื่องปลดบล็อกพอร์ต SMTP ได้ แต่ไม่มีการรับประกันว่าจะได้รับการปลดบล็อกเสมอไป เพราะเป็นการพิจารณาเป็นกรณีไป และเป็นส่วนหนึ่งของนโยบายป้องกันสแปมของทั้งแพลตฟอร์ม ในทางปฏิบัติ ทีมงานส่วนใหญ่แนะนำให้ใช้บริการ SMTP relay แทนตั้งแต่แรกเพื่อความรวดเร็ว

ทางเลือกพอร์ตอื่น

ผู้ให้บริการ SMTP relay บางเจ้าเปิดให้ใช้พอร์ตทางเลือกอื่นนอกเหนือจาก 25/465/587 เช่นพอร์ต 2525 เพื่อหลีกเลี่ยงพอร์ตที่ผู้ให้บริการ Cloud มักบล็อก ควรตรวจสอบเอกสารของผู้ให้บริการที่เลือกใช้ว่ารองรับพอร์ตทางเลือกนี้หรือไม่ก่อนตั้งค่า

Checklist ก่อน deploy ระบบที่ต้องส่งอีเมล

ก่อนขึ้นโปรดักชันจริง ควรตรวจสอบให้ครบทุกจุดเพื่อไม่ให้อีเมลสำคัญ เช่น อีเมลยืนยันการสมัครสมาชิกหรือใบเสร็จ หลุดหายไป

  1. ยืนยันว่าใช้ SMTP relay หรือ Email API แทนการรันเมลเซิร์ฟเวอร์เอง
  2. ยืนยันโดเมน + ตั้งค่า SPF/DKIM ตามที่ผู้ให้บริการแนะนำ
  3. ทดสอบส่งอีเมลจริงในทุก flow สำคัญ (สมัครสมาชิก, ลืมรหัสผ่าน, ใบเสร็จ)
  4. ตั้งระบบแจ้งเตือนเมื่ออีเมลส่งไม่สำเร็จ (bounce/failure webhook)

รับ $200 Free Credit →

คำถามที่พบบ่อย (FAQ)

ใช้ Gmail SMTP ผ่านพอร์ต 587 บน Droplet ได้ไหม
ไม่ได้ เพราะพอร์ต 587 ถูกบล็อกบน Droplet ทุกเครื่องเหมือนกัน ไม่ว่าจะเชื่อมต่อไปยังผู้ให้บริการอีเมลเจ้าไหนก็ตาม ต้องใช้บริการ SMTP relay ที่รองรับการเชื่อมต่อแบบอื่นแทน
ทำไม DigitalOcean ไม่ปลดบล็อกให้ทุกคน
เพราะการเปิดพอร์ต 25 ให้อิสระเสี่ยงถูกใช้ส่งสแปม ซึ่งจะทำให้ IP range ทั้งหมดของแพลตฟอร์มถูกขึ้นบัญชีดำและกระทบผู้ใช้สุจริตทุกคน จึงบล็อกไว้เป็นค่าเริ่มต้นและพิจารณาปลดบล็อกเป็นกรณีไปเท่านั้น
เว็บ WordPress หรือ Laravel ส่งอีเมลยังไงถ้าไม่มีพอร์ต 25
ใช้ปลั๊กอินหรือไลบรารีที่รองรับ SMTP relay ของบุคคลที่สาม เช่น SendGrid หรือ Mailgun แทนการส่งผ่าน mail server ในเครื่องโดยตรง WordPress มีปลั๊กอินสำหรับตั้งค่านี้โดยเฉพาะ ส่วน Laravel ตั้งค่าผ่านไฟล์ .env ได้เลย
ใช้ SMTP relay มีค่าใช้จ่ายเพิ่มไหม
ผู้ให้บริการส่วนใหญ่มี free tier ให้ใช้ฟรีในปริมาณจำกัดต่อเดือน เหมาะกับเว็บขนาดเล็กถึงกลาง และมีแพ็กเกจเสียเงินสำหรับปริมาณอีเมลที่มากขึ้น