คู่มือการตั้งค่าบริการ Mailpit ใน ServBay
ServBay ได้บูรณาการ Mailpit ไว้ในชุดซอฟต์แวร์หลัก เพื่อมอบเซิร์ฟเวอร์อีเมลภายในเครื่องที่ใช้งานง่าย เหมาะอย่างยิ่งสำหรับนักพัฒนาในการทดสอบและดีบักฟีเจอร์การส่งอีเมลของแอปพลิเคชัน เอกสารนี้จะแนะนำวิธีการติดตั้ง เปิดใช้งาน และตั้งค่า Mailpit ใน ServBay โดยละเอียด ครอบคลุมแท็บตั้งค่าหลัก ได้แก่ Common, SMTP, POP3 และ Relay
ภาพรวมของ Mailpit
Mailpit เป็นเครื่องมือโอเพ่นซอร์สที่ให้บริการ SMTP/POP3 server ภายในเครื่อง และมีอินเทอร์เฟซเว็บที่ใช้งานง่าย ช่วยดักจับอีเมลที่แอปพลิเคชันของคุณส่งออก ทำให้คุณตรวจสอบเนื้อหาอีเมล, header, ไฟล์แนบ และอื่น ๆ ได้ในจุดเดียว โดยไม่ต้องกลัวอีเมลทดสอบหลุดไปยังกล่องจดหมายจริง จึงลดความซับซ้อนของกระบวนการพัฒนาและดีบักเป็นอย่างมาก โดยเหมาะกับฟีเจอร์ที่ต้องส่งอีเมล เช่น สมัครสมาชิก, รีเซ็ตรหัสผ่าน, การแจ้งเตือน ฯลฯ
ภายใน ServBay, Mailpit ได้ผสานรวมเป็นหนึ่งในซอฟต์แวร์หลัก สามารถติดตั้งและจัดการได้ง่าย พร้อมรองรับระบบ PKI อัตโนมัติของ ServBay เพื่อสร้างและติดตั้ง SSL/TLS certificate ทำให้สภาพแวดล้อมการทดสอบอีเมลมีความปลอดภัยสูง
การติดตั้งและเปิดใช้งาน Mailpit
ก่อนจะใช้ Mailpit เป็นเซิร์ฟเวอร์อีเมลภายในเครื่อง คุณต้องติดตั้งและเปิดใช้งาน Mailpit บน ServBay เสียก่อน
- เปิดแอปพลิเคชัน ServBay
- ที่แถบนำทางด้านซ้าย เลือก
ซอฟต์แวร์แพ็กเกจ
- ที่รายการแพ็กเกจ ให้ไปที่หมวด
บริการทั่วไป
- เลือก
Mailpit
จากรายชื่อแพ็กเกจ - หาก Mailpit ยังไม่ได้ติดตั้ง ให้คลิกปุ่มติดตั้งสีเขียวด้านขวา
- เมื่อติดตั้งเสร็จแล้ว ให้กดสวิตช์เปิดใช้งานข้าง ๆ เพื่อเปิดใช้ Mailpit
ด้วยความสามารถของระบบ PKI ที่ครอบคลุมของ ServBay ระบบจะสร้างและติดตั้ง SSL certificate อัตโนมัติ ให้กับอินเทอร์เฟซเว็บ, บริการ SMTP และ POP3 ของ Mailpit คุณสามารถเปิดใช้ STARTTLS หรือ SSL/TLS เพื่อเข้ารหัสอีเมลได้ทันที โดยไม่ต้องดำเนินการขอหรือตั้งค่าซีเรียสเพิ่มเติมด้วยตัวเอง
อินเทอร์เฟซจัดการอีเมลผ่านเว็บ
Mailpit มาพร้อมอินเทอร์เฟซเว็บที่ทรงพลังสำหรับดูและจัดการอีเมลที่รับเข้ามา ServBay ตั้งค่าทุกอย่างไว้ให้โดยอัตโนมัติ เพียงเปิดใช้งาน Mailpit คุณก็สามารถเข้าถึงผ่านเบราว์เซอร์ได้ทันทีที่:
ที่อยู่เข้าใช้งาน: https://mail.servbay.host
ผ่านหน้าเว็บนี้ คุณจะสามารถเรียกดูรายการอีเมลที่ได้รับ, เปิดอีเมลดูรายละเอียดทั้งในรูปแบบ HTML, ข้อความล้วน, และซอร์สโค้ด, ค้นหา, รวมถึงลบอีเมลได้อย่างสะดวก
การตั้งค่าแพ็กเกจ Mailpit
ServBay มีอินเทอร์เฟซกราฟิกให้ใช้งานสะดวกสำหรับตั้งค่าต่าง ๆ ของ Mailpit ที่แถบนำทางซ้าย ให้เลือก Mail
แล้วคลิกที่ Mailpit Service Config
จะเข้าสู่หน้าตั้งค่าหลัก ซึ่งประกอบด้วยแท็บ Common, SMTP, POP3, และ Relay
1. แท็บ Common
แท็บ Common ใช้ในการตั้งค่าทั่วไปและลักษณะการทำงานของ Mailpit:
- Max Messages: กำหนดจำนวนอีเมลสูงสุดที่ Mailpit จะเก็บไว้ หากมีเมลใหม่เข้ามาเกินจำนวนนี้ ระบบจะลบเมลที่เก่าที่สุดโดยอัตโนมัติ
- Max Age: ระบุระยะเวลา (เป็นวัน) ที่จะเก็บอีเมลแต่ละฉบับไว้ใน Mailpit หากเกินเวลาที่กำหนด เมลจะถูกลบทิ้งอัตโนมัติ
- SpamAssassin: เปิดหรือปิดการทำงานของตัวกรองสแปม SpamAssassin เมื่อเปิดใช้ Mailpit จะพยายามติดป้ายกำกับเมลขยะให้กับอีเมลที่ตรวจพบว่าเป็นสแปม
- Webhook URL: ตั้งค่า URL สำหรับ webhook เมื่อมีอีเมลใหม่เข้ามา Mailpit จะส่ง HTTP POST ไปแจ้งเตือนระบบหรือบริการภายนอก เหมาะสำหรับการทดสอบแบบอัตโนมัติหรือระบบแจ้งเตือน
- Webhook Limit: กำหนดจำนวนสูงสุดของเมลที่จะแจ้งให้ webhook ในแต่ละรอบ
2. แท็บ SMTP
TIP
ด้วยจุดเด่นด้านระบบ PKI ของ ServBay ทำให้ certificate SSL ถูกสร้างและตั้งค่าให้อัตโนมัติ คุณสามารถเปิดใช้ STARTTLS หรือเชื่อมต่อแบบ SSL/TLS ได้โดยไม่ต้องขอหรือตั้งค่า certificate เอง
แท็บ SMTP ใช้สำหรับตั้งค่า SMTP server ของ Mailpit ซึ่งแอปพลิเคชันของคุณจะเชื่อมต่อเพื่อส่งอีเมลทดสอบ:
- SMTP Port: กำหนดพอร์ตที่ Mailpit SMTP รับการเชื่อมต่อ แอปพลิเคชันควรตั้งค่าการส่งอีเมลไปยัง
127.0.0.1
หรือlocalhost
บนพอร์ตนี้ โดยค่าพื้นฐานคือ1025
- STARTTLS: เปิดหรือปิดการใช้งานการอัปเกรดเชื่อมต่อเป็นแบบเข้ารหัสเมื่อเชื่อมต่อแล้ว
- SSL/TLS: เปิดหรือปิดการเชื่อมต่อแบบ SSL/TLS ทันทีตั้งแต่ต้น
- Username: ตั้งชื่อผู้ใช้สำหรับ SMTP (ไม่บังคับ) หากตั้งค่านี้ แอปพลิเคชันต้องกรอก username นี้ตอนส่งเมลเพื่อยืนยันตัวตน
- Password: รหัสผ่าน SMTP (ไม่บังคับ) ใช้งานร่วมกับ Username สำหรับการยืนยันตัวตน
- Max Recipients: กำหนดจำนวนผู้รับสูงสุดต่อหนึ่งอีเมล เพื่อป้องกันการส่งเมลไปที่ผู้รับจำนวนมากเกินไปในคราวเดียว
- Allowed Recipients: ระบุรายชื่ออีเมลหรือโดเมนของผู้รับที่อนุญาตให้รับเมล (ไม่บังคับ) หากปล่อยว่างไว้ Mailpit จะรับอีเมลที่ส่งหาผู้รับใดก็ได้ แต่ถ้าตั้งค่านี้จะรับเฉพาะเมลที่ส่งถึงรายการอีเมล/โดเมนที่ระบุเท่านั้น
3. แท็บ POP3
TIP
ระบบ PKI ของ ServBay จะสร้างและตั้งค่า SSL certificate ให้อัตโนมัติ คุณสามารถใช้การเชื่อมต่อ POP3 แบบ SSL/TLS ได้ทันทีโดยไม่ต้องตั้งค่าหรือขอ certificate ให้ยุ่งยาก
แท็บ POP3 ใช้สำหรับตั้งค่า POP3 server ของ Mailpit ในกรณีที่คุณต้องการทดสอบการดึงอีเมลจากแอปพลิเคชัน ให้ตั้งค่า client เชื่อมต่อกับ POP3 server นี้:
- Enable POP3 Server: เปิดหรือปิดการทำงานของ POP3 server
- POP3 Server Port: พอร์ตที่ POP3 server รับการเชื่อมต่อ โดยค่าพื้นฐานคือ
1110
- Username: ระบุชื่อผู้ใช้ POP3 (ไม่บังคับ) หากตั้งค่านี้ client ต้องใช้ username ในการยืนยันตัวตนขณะเชื่อมต่อ
- Password: ระบุรหัสผ่าน POP3 (ไม่บังคับ) ใช้งานร่วมกับ Username
- SSL/TLS: เปิดหรือปิดการเชื่อมต่อแบบเข้ารหัส SSL/TLS
4. แท็บ Relay
แท็บ Relay ใช้สำหรับกำหนดค่าให้ Mailpit ส่งต่อ (relay) อีเมลที่ถูกดักจับไปยัง SMTP server ภายนอก (เช่น ไปยัง Gmail หรือ Sendgrid):
- Enable SMTP Relay: เปิดหรือปิดฟังก์ชัน SMTP relay
- Host: กำหนดรายชื่อ host ของ SMTP server ภายนอกที่ต้องใช้ relay (ตัวอย่าง:
smtp.gmail.com
,smtp.sendgrid.net
) - Port: ระบุหมายเลขพอร์ตของ SMTP server ภายนอก โดยค่าพื้นฐานคือ
25
(SMTP มาตรฐาน),465
(SMTPS), หรือ587
(Submission) - STARTTLS: เปิดหรือปิดการอัปเกรดเชื่อมต่อกับ relay server เป็นแบบเข้ารหัส
- Allow Insecure: อนุญาตให้เชื่อมต่อกับ SMTP server ที่ใช้ certificate ที่ไม่น่าเชื่อถือ (ไม่แนะนำให้ใช้บนระบบ production)
- Auth: เลือกรูปแบบการยืนยันตัวตนกับ relay server มีให้เลือก เช่น
Login
(ส่ง username/password),Plain
(เหมือน Login), หรือCRAM-MD5
(แบบ challenge/response) - Username: ใส่ชื่อผู้ใช้สำหรับเชื่อมต่อ SMTP relay
- Password: ใส่รหัสผ่านสำหรับเชื่อมต่อ SMTP relay
- Return Path: ตั้งค่า address สำหรับรับอีเมลเด้งกลับ (
Return-Path
) - Allowed Recipients: รายชื่ออีเมลหรือโดเมนที่อนุญาตให้ relay (ไม่บังคับ)
- Blocked Recipients: รายชื่ออีเมลหรือโดเมนที่ไม่อนุญาตให้ relay (ไม่บังคับ)
- Relay All: หากเลือกตัวนี้ Mailpit จะพยายาม relay อีเมลออกทั้งหมด (ภายใต้ข้อจำกัดที่ Allowed/Blocked Recipients กำหนด)
- Relay Matching: หากเลือก Mailpit จะ relay เฉพาะอีเมลที่เข้ากฎ Allowed หรือ Blocked Recipients เท่านั้น
การบันทึกการตั้งค่า
ทุกครั้งที่คุณปรับตั้งค่าใด ๆ ใน Mailpit ให้คลิกปุ่ม Save
ที่ด้านล่างของหน้าตั้งค่าเพื่อบันทึกการเปลี่ยนแปลง
เมื่อต้องการคืนค่าการตั้งค่าทั้งหมดเป็นค่าเริ่มต้นของ Mailpit ให้คลิกปุ่ม Reset
คำถามที่พบบ่อย (FAQ)
- ถาม: ทำไมอีเมลที่แอปพลิเคชันของฉันส่งถึงไม่แสดงใน Mailpit?
- ตอบ: ตรวจสอบการตั้งค่าส่งอีเมลในแอปฯ ของคุณ (โดยเฉพาะ SMTP host และพอร์ต) ว่าตั้งไว้ที่
127.0.0.1
หรือlocalhost
และพอร์ต SMTP ที่คุณตั้งไว้ใน Mailpit (ค่าดั้งเดิมคือ 1025) หรือไม่ ตรวจสอบด้วยว่า Mailpit ได้เปิดใช้งานและกำลังทำงานอยู่ใน ServBay หรือไม่ สามารถดูสถานะนี้ได้ที่หน้าแพ็กเกจของ ServBay
- ตอบ: ตรวจสอบการตั้งค่าส่งอีเมลในแอปฯ ของคุณ (โดยเฉพาะ SMTP host และพอร์ต) ว่าตั้งไว้ที่
- ถาม: จำเป็นต้องตั้งค่า SSL certificate ให้ Mailpit เองหรือไม่?
- ตอบ: ไม่จำเป็น! ระบบ PKI ของ ServBay จะสร้างและตั้งค่า SSL certificate ให้อัตโนมัติกับอินเทอร์เฟซเว็บ, SMTP, และ POP3 รวมถึงการรองรับ STARTTLS/SSL/TLS คุณเพียงแค่เปิดใช้การเข้ารหัสในแท็บที่เกี่ยวข้องเท่านั้น
- ถาม: อินเทอร์เฟซเว็บของ Mailpit มี username/password เริ่มต้นหรือไม่?
- ตอบ: โดยค่าเริ่มต้นเมื่อเข้า Web UI ของ Mailpit ผ่าน
https://mail.servbay.host
จะไม่ต้องใส่ username หรือ password เช่นเดียวกับ SMTP และ POP3 ก็ไม่ต้องยืนยันตัวตน หากคุณต้องการเปิดใช้งานการยืนยันตัวตนสำหรับ SMTP หรือ POP3 สามารถตั้ง username และ password ได้ในแท็บที่เกี่ยวข้อง
- ตอบ: โดยค่าเริ่มต้นเมื่อเข้า Web UI ของ Mailpit ผ่าน
สรุป
ด้วยการผสานรวม Mailpit เข้าไว้ใน ServBay คุณจะสามารถสร้างสภาพแวดล้อมสำหรับทดสอบอีเมลภายในเครื่องได้ง่ายและปลอดภัย การตั้งค่า SMTP, POP3 และ Relay ของ Mailpit ควบคู่กับอินเทอร์เฟซเว็บที่ดูใช้งานง่าย จะช่วยเพิ่มประสิทธิภาพการทดสอบและพัฒนาฟีเจอร์อีเมลของคุณได้อย่างดีเยี่ยม
กรณีที่ปรับเปลี่ยนค่าต่าง ๆ แล้ว แนะนำให้ restart แพ็กเกจ Mailpit เพื่อให้ค่ามีผล สามารถรีสตาร์ทได้จากหน้าจัดการแพ็กเกจใน ServBay โดยคลิกปุ่ม restart ข้าง Mailpit