สร้างระบบ Email Marketing บน VPS ด้วย Listmonk และ Claude Code

Tim Janepat
ผู้ก่อตั้ง AiCEO Academy · ผู้เชี่ยวชาญด้าน AI

สร้างระบบส่งอีเมลมาร์เก็ตติ้งบน VPS ด้วย Listmonk open source เชื่อมต่อ Resend SMTP ให้ Claude Code จัดการทุกขั้นตอน ส่งได้ไม่จำกัด ไม่ต้องจ่ายรายเดือน
Email Marketing หรือที่เรียกย่อว่า EDM (Electronic Direct Mail) เป็นเครื่องมือการตลาดที่อยู่คู่โลกดิจิทัลมาก่อน Social Media จะดัง และยังคงใช้งานได้จริงในยุคนี้ นักการตลาดหลายคนพูดตรงกันว่า Email Marketing Never Die เพราะรายชื่ออีเมลเป็นสิ่งที่เราเป็นเจ้าของเอง ต่างจากผู้ติดตามบน Facebook หรือ Instagram ที่ algorithm เปลี่ยนเมื่อไหร่ก็ได้โดยที่เราควบคุมไม่ได้
ปัญหาที่คนส่วนใหญ่เจอตอนอยากทำ EDM จริงจังคือต้องพึ่งบริการสำเร็จรูปอย่าง Mailchimp หรือ ActiveCampaign ซึ่งดีในแง่ใช้งานง่าย แต่พอรายชื่อ subscriber เพิ่มขึ้น ค่าใช้จ่ายรายเดือนก็พุ่งตามไปด้วย ผมเลยลองทำระบบอีเมลมาร์เก็ตติ้งขึ้นมาเองบน VPS ส่วนตัว โดยใช้ Listmonk ซึ่งเป็น open source ฟรี เชื่อมกับ Resend สำหรับส่งอีเมลจริง และให้ Claude Code ทำหน้าที่ช่างเทคนิคจัดการทุกอย่างตั้งแต่ต้นจนจบ
เครื่องมือหลักสามตัวที่ใช้คือ Listmonk สำหรับเป็นระบบหลังบ้านจัดการรายชื่อและแคมเปญ, Resend เป็น SMTP service ที่ Gmail เชื่อถือและมี free tier ให้ใช้, และ Cloudflare สำหรับจัดการโดเมนและ SSL ทั้งหมดนี้รันบน VPS ของเราเอง ทำให้ควบคุมทุกอย่างได้โดยไม่ต้องผูกขาดกับ vendor รายใด
สรุปสั้น ๆ
- Listmonk คือ open source email marketing platform self-host บน VPS ได้ฟรี UI ครบ ฟีเจอร์ดี
- Resend ทำหน้าที่ SMTP relay ที่ Gmail เชื่อถือ มี free tier และ verify domain ด้วย SPF, DKIM, DMARC
- Claude Code เชื่อมต่อ SSH ตั้ง Docker ตั้งค่าระบบทั้งหมดโดยอัตโนมัติ ไม่ต้องพิมพ์ command เอง
- Cloudflare จัดการ subdomain และ SSL ได้ผ่าน API token ในที่เดียว
- ส่งเฉพาะรายชื่อที่ยินยอม และค่อยๆ warm-up domain ก่อนเพื่อให้อีเมลถึง inbox จริง
Listmonk คืออะไร และทำไมถึงเลือกตัวนี้
Listmonk เป็น open source email newsletter และ mailing list manager ที่ download ฟรีได้จาก GitHub หน้าตา UI ออกแบบมาดีมากและมีฟีเจอร์ครบ ไม่ว่าจะเป็นการสร้าง campaign, import รายชื่อ subscriber, ดู analytics ว่าใครเปิดอีเมล ใครคลิกลิงก์ หรือแบ่งกลุ่มตาม tag ต่างๆ ทุกอย่างทำได้หมดในระบบเดียว Listmonk รันบน Docker container คู่กับ PostgreSQL database ทำให้ deploy ได้ง่ายบน VPS ทุกเจ้า ตั้งค่าครั้งแรกเสร็จแล้วก็ทำงานได้เองไม่ต้องดูแลมาก
สิ่งที่ทำให้ Listmonk แตกต่างจากบริการสำเร็จรูปคือข้อมูลรายชื่ออีเมลลูกค้าทั้งหมดอยู่บน server ของเราเอง ไม่ถูกส่งออกไปเก็บที่ third party ซึ่งสำคัญมากทั้งในแง่ความเป็นส่วนตัวและการปฏิบัติตาม PDPA และที่ดีมากคือ Listmonk มี API ที่ครบ ทำให้สั่งงานผ่าน Claude Code ได้ทุกอย่าง ตั้งแต่ import รายชื่อไปจนถึงสร้างและส่ง campaign โดยไม่ต้องเข้า UI ด้วยซ้ำ
Resend — ตัวช่วยส่งอีเมลที่ Gmail ไว้วางใจ
การมีระบบหลังบ้านอย่าง Listmonk ยังไม่พอ เพราะการส่งอีเมลให้ถึง inbox ของผู้รับจริงๆ ต้องอาศัย SMTP service ที่มี reputation ดีด้วย ถ้าส่งตรงจาก IP ของ VPS โดยไม่ผ่านตัวกลางที่ Gmail เชื่อถือ อีเมลมีโอกาสสูงมากที่จะตกไปอยู่ใน Spam folder โดยเฉพาะถ้าโดเมนยังใหม่และไม่เคย warm-up มาก่อน
Resend ไม่ได้แค่ส่งอีเมล แต่ยังช่วยให้โดเมนของเรา verify ผ่าน SPF, DKIM, DMARC ซึ่งเป็นสิ่งที่ Gmail ตรวจสอบก่อนตัดสินใจว่าจะส่งอีเมลเข้า inbox หรือโยนลงขยะ
Resend มี free tier ให้ใช้ได้และ Gmail ยอมรับอีเมลที่ส่งผ่านเป็น first-class วิธีเชื่อมต่อง่ายมาก สร้าง API key ใน dashboard ของ Resend แล้วเอา key นั้นไปตั้งค่าใน Listmonk ให้ใช้ Resend เป็น SMTP relay ก็เรียบร้อย ส่วน Cloudflare จัดการ subdomain และ SSL certificate ให้โดยอัตโนมัติผ่าน API เช่นกัน
ขั้นตอนตั้งระบบ — ให้ Claude Code ทำทั้งหมด
ขั้นตอนทั้งหมดเริ่มจากการเตรียม VPS ก่อน ผมใช้ Hostinger เพราะราคาคุ้มค่าและ performance ดี มีคูปอง AICEO ลดได้ประมาณ 669 บาท แพ็กเกจ 24 เดือนได้โดเมนฟรีด้วย ราคาเฉลี่ยอยู่แค่ประมาณ 2,000 กว่าบาทต่อปี ถือว่าคุ้มมากถ้าเทียบกับค่าบริการ email marketing รายเดือน นอกจาก VPS แล้วต้องเตรียม Cloudflare API token (สมัครฟรี) กับ Resend API key (สมัครฟรี) เอาไว้ด้วย
พอได้ IP address และ password ของ VPS แล้ว ผมเปิด VS Code สร้างโฟลเดอร์โปรเจกต์ใหม่ เชื่อมต่อ Claude Code extension แล้วสร้างไฟล์ config เก็บข้อมูลทั้งหมดในที่เดียว ทั้ง IP, username, password, Cloudflare API token และ Resend API key จากนั้นก็พิมพ์สั่ง Claude Code เป็นภาษาไทยได้เลย Claude Code ทำงานเป็นลำดับดังนี้ เชื่อมต่อ SSH เข้า VPS → ติดตั้ง Docker → สร้าง container สำหรับ Listmonk พร้อม PostgreSQL → ตั้งค่า admin login → ใช้ Cloudflare API สร้าง subdomain พร้อม SSL → ทดสอบส่งอีเมลจริง ทุกอย่างทำโดยอัตโนมัติ ไม่ต้องพิมพ์ command เองสักตัว และไฟล์ที่มันสร้างขึ้นระหว่างทำงานก็จะโผล่ขึ้นในโฟลเดอร์ทางซ้ายมือของ VS Code ให้ตรวจสอบได้ตลอด
จัดการรายชื่ออีเมลและส่งอย่างถูกต้อง
ตอนที่ผมทดสอบระบบ มีไฟล์ Excel ที่ทีมงานเก็บรายชื่อจากคนที่สมัครฟอร์มต่างๆ ไว้ ซึ่งมักมีข้อมูลเยอะเกินความจำเป็น การใช้ Claude Code ช่วยตรงนี้ทำได้ง่ายมาก แค่บอกให้มันดึงเฉพาะคอลัมน์อีเมลและชื่อออกมา แปลงเป็น CSV format ที่ Listmonk รับได้ แล้ว import เข้าระบบผ่าน API ได้เลยโดยไม่ต้องเข้าไปกด UI ด้วยซ้ำ
สิ่งที่สำคัญไม่แพ้การตั้งระบบคือการส่งอีเมลให้ถูกวิธี เรื่องแรกคือ domain warm-up ถ้าโดเมนเพิ่งเริ่มใช้ใหม่ การส่งทีเดียวหลายพันฉบับจะทำให้ Gmail flag เป็น spam วิธีที่ถูกต้องคือเริ่มส่งแค่ 10-15 คนก่อน แล้วค่อยๆ เพิ่มขึ้นทีละน้อยในแต่ละวัน เรื่องที่สองคือส่งเฉพาะคนที่ยินดีรับเท่านั้น ห้ามซื้อรายชื่อมายิงมั่วเพราะผิด PDPA และทำให้ reputation ของโดเมนเสีย ในระยะยาว Listmonk มีระบบ unsubscribe ให้อัตโนมัติอยู่แล้ว รายชื่อที่ดีที่สุดคือคนที่กรอกฟอร์มเข้ามาเอง อยากรับข้อมูล หรือเป็นลูกค้าที่ซื้อสินค้าแล้ว
สรุป
ระบบ Email Marketing แบบ self-hosted ที่ประกอบจาก Listmonk + Resend + VPS + Cloudflare ช่วยให้ส่งอีเมลได้ไม่จำกัดโดยค่าใช้จ่ายหลักคือแค่ค่า VPS ต่อปี ซึ่งถูกกว่าบริการสำเร็จรูปอย่างมากในระยะยาว Claude Code ทำให้การตั้งระบบที่ดูซับซ้อนกลายเป็นเรื่องที่ทำได้จริง เพียงแค่เตรียม credentials ให้ครบและสั่งงานเป็นภาษาไทยก็พอ
ขั้นตอนต่อไปสำหรับคนที่อยากเริ่ม:
- เตรียม VPS บน Hostinger (ใช้คูปอง AICEO ลดราคาได้) พร้อม IP และ root password
- สมัคร Cloudflare ฟรี สร้าง API token สำหรับ DNS management
- สมัคร Resend ฟรี สร้าง API key และ verify domain ของคุณ
- เปิด VS Code ติดตั้ง Claude Code extension สร้างไฟล์ config เก็บ credentials ครบในที่เดียว
- สั่ง Claude Code ตั้งระบบ Listmonk + Docker + subdomain + ทดสอบส่งอีเมลจริง
คำถามที่พบบ่อย
Q.Listmonk คืออะไร
Q.ต้องใช้ VPS แบบไหนสำหรับรัน Listmonk
Q.ทำไมต้องใช้ Resend แทนการส่งอีเมลตรงจาก VPS
วิดีโอต้นฉบับ
วิดีโอต้นฉบับ — Tim Janepatบทความนี้สรุปและขยายความจากเนื้อหาในวิดีโอ — กดดูคลิปต้นฉบับเพื่อดูภาพและตัวอย่างเพิ่มเติม
แชร์บทความนี้:
บทความที่เกี่ยวข้อง

Claude Artifact คืออะไร วิธีสร้าง Visual และแชร์เป็น URL ได้เลย
เทคนิค prompt ง่ายๆ ที่ให้ Claude คิดก่อนว่าจะแสดงอะไร แล้วเลือกจาก 5 ตัวเลือก พร้อมวิธีทำ Artifact เป็นเว็บที่มี URL แชร์ได้โดยไม่ต้องมีบัญชี Claude

วิธีใช้ Claude Code ให้ได้เต็มประสิทธิภาพ: 7 ระดับที่ต้องรู้
Claude Code ไม่ใช่แค่ chatbot แต่เป็นระบบที่ทำงานแทนคุณได้จริง บทความนี้อธิบาย 7 ระดับตั้งแต่ connectors, sub-agents ไปถึง skills และ operating system

Claude Code คืออะไร วิธีเริ่มสร้างแอปโดยไม่ต้องเขียนโค้ด
Claude Code คือ AI agent ที่สร้างไฟล์จริงบนเครื่องได้ ไม่ต้องรู้โค้ดเลย แค่อธิบายสิ่งที่ต้องการ Claude จัดการทุกขั้นตอนตั้งแต่ build จนถึง deploy