การทำ Dry Run สำหรับ Stalwart Mail Server มักจะหมายถึงสองกรณีหลัก ๆ คือการตรวจสอบ Configuration ว่าเขียนถูกต้องไหม ( Check Config ) หรือการจำลองการทำงานของ Mail Pipeline โดยไม่ส่งเมลออกจริงครับ
การตรวจสอบความถูกต้องของ Configuration
หากคุณแก้ไขไฟล์ .toml และต้องการเช็คว่ามี Syntax ผิดพลาดตรงไหนหรือไม่ โดยที่ยังไม่ต้อง Restart Service จริง
# ตรวจสอบ config ทั่วไป
stalwart-mail --config /path/to/config.toml --check
# หรือหากใช้ผ่าน Docker ( สมมติชื่อคอนเทนเนอร์คือ stalwart )
docker exec -it stalwart stalwart-mail --check
การทำ Dry Run สำหรับการส่งเมล ( Smtp Sink )
หากคุณกำลังทดสอบการรับ-ส่งเมล แต่ไม่อยากให้เมลถูกส่งไปยังปลายทางจริง ๆ ( เพื่อป้องกันโดนแบนหรือเปลือง Quota ) คุณสามารถตั้งค่า Smtp Sink หรือใช้โหมด Discard ใน Pipeline ได้:
ในไฟล์ config.toml ส่วนของ [session.smtp.outbound]:
[session.smtp.outbound]
# เปลี่ยนจาก 'send' เป็น 'discard' เพื่อจำลองการส่ง ( เมลจะหายไปแต่ log จะขึ้นว่าส่งสำเร็จ )
default-action = "discard"
การทดสอบการกรองเมล ( Sieve / Filter Dry Run )
หากคุณเขียน Script สำหรับคัดแยกเมล ( Sieve ) และต้องการทดสอบ Logic
- ใช้เครื่องมือ Sieve Tester ( ถ้ามีติดตั้งไว้ )
- หรือตรวจสอบ Log ระหว่างการ Trace
# เพิ่มระดับ Log เป็น Trace เพื่อดูการทำงานของ Logic อย่างละเอียด
export RUST_LOG=trace
./stalwart-mail
อ่านเพิ่มเติม