✉️ อีเมลแจ้งเตือนลูกค้า
ส่งอีเมลยืนยันให้ลูกค้าอัตโนมัติเมื่อชำระเงินสำเร็จ — ทั้งค่าตั๋วโดยสารและค่าส่งพัสดุ ทุกช่องทางชำระ
ในหน้านี้
เมนู: จัดการระบบ → อีเมลแจ้งเตือน (เฉพาะ admin)
อีเมลถูกส่งเมื่อไร
| เหตุการณ์ | ส่งถึง |
|---|---|
| ลูกค้าจ่ายด้วยบัตร / PromptPay อัตโนมัติ (Stripe, Omise) สำเร็จ | อีเมลที่กรอกตอนจอง (ถ้าไม่กรอก ใช้อีเมลบัญชี Google ของลูกค้า) |
| สลิปโอนเงินผ่านการตรวจอัตโนมัติ หรือเจ้าหน้าที่กด อนุมัติสลิป | |
| เจ้าหน้าที่กด ยืนยันรับชำระ ในหน้ารายละเอียดการจอง หรือขายตั๋ว/รับพัสดุที่เคาน์เตอร์แบบชำระทันที |
- แต่ละรายการส่งครั้งเดียว — webhook ที่ยิงซ้ำหรือกดยืนยันซ้ำจะไม่ทำให้ลูกค้าได้อีเมลซ้ำ
- ถ้าเงินเข้าหลังรายการถูกยกเลิก/ชำระไปแล้ว (ต้องคืนเงิน) ระบบจะไม่ส่งอีเมลยืนยัน
- ระบบส่งอีเมลหลังตอบหน้าเว็บเสร็จ — เซิร์ฟเวอร์อีเมลช้าหรือล่มจะไม่ทำให้การชำระเงินค้าง
- หน้า "ชำระเงินสำเร็จ" ของลูกค้าจะแจ้งว่า ส่งอีเมลยืนยันไปที่ so•••@gmail.com แล้ว (ปิดบังอีเมลบางส่วน)
ลูกค้าหน้าเคาน์เตอร์: กรอกช่อง อีเมล ในหน้าขายตั๋ว/รับพัสดุ ลูกค้าจะได้รับใบยืนยันทางอีเมลด้วย
เนื้อหาในอีเมล
🎫 ชำระค่าตั๋วสำเร็จ
รหัสการจอง · เส้นทาง · วัน-เวลาเดินทาง · รถ · ที่นั่ง · รายชื่อผู้โดยสาร · ยอดชำระ/ช่องทาง/เลขอ้างอิง · ปุ่ม ดู / พิมพ์ตั๋ว · คำแนะนำก่อนเดินทาง
📦 ชำระค่าส่งพัสดุสำเร็จ
รหัสพัสดุ · ต้นทาง → ปลายทาง · ผู้รับ · น้ำหนัก/ขนาด · รหัส PIN รับพัสดุ · ปุ่ม ติดตามพัสดุ · ที่อยู่สาขาที่ต้องนำพัสดุไปส่ง (กรณีจองออนไลน์)
อีเมลแสดงชื่อบริษัท โลโก้ เบอร์โทร และที่อยู่จาก ตั้งค่าระบบ อัตโนมัติ · รองรับทั้งจอคอมและมือถือ (Gmail, Outlook, Apple Mail) · มีฉบับข้อความล้วนแนบไปด้วย เลือกภาษาอีเมล ไทย / English ได้
ตั้งค่าครั้งแรก
- กรอก อีเมลผู้ส่ง (เช่น
noreply@โดเมนของคุณ) และ ชื่อผู้ส่ง — แนะนำใส่ Reply-To เป็นอีเมลฝ่ายบริการลูกค้าเพื่อให้ลูกค้าตอบกลับได้ - เลือกช่องทางส่ง SMTP → กดปุ่มตั้งค่าด่วนของผู้ให้บริการ (Gmail, Microsoft 365, SendGrid…) แล้วใส่ Username / Password
- ใส่ URL เว็บไซต์ในลิงก์อีเมล เป็นโดเมนจริง เช่น
https://tickets.example.com(ใช้ทำลิงก์ "ดูตั๋ว" / "ติดตามพัสดุ") - กด บันทึก → เลื่อนลงไปที่ ทดสอบการส่ง ใส่อีเมลตัวเอง → ส่งอีเมลทดสอบ
- ได้รับอีเมลแล้ว → เปิดสวิตช์ การส่งอีเมล มุมขวาบน → บันทึก
| ช่องทางส่ง | เหมาะกับ |
|---|---|
| SMTP | แนะนำ — ส่งผ่านบริการอีเมลจริง เข้ากล่องจดหมายได้ดีที่สุด รองรับ STARTTLS (587) และ SSL/TLS (465) |
| PHP mail() | โฮสติ้งที่ตั้งค่า sendmail ไว้แล้ว — มีโอกาสเข้าถังขยะสูงกว่า |
| บันทึกอย่างเดียว | ทดสอบระบบ — ไม่ส่งจริง ดูหน้าตาอีเมลได้จากประวัติการส่ง |
รหัสผ่าน SMTP / API key ถูกเข้ารหัส AES-256 ก่อนเก็บในฐานข้อมูล และไม่แสดงกลับบนหน้าจอ (เว้นว่างไว้ = ใช้ค่าเดิม)
ตั้งค่าผู้ให้บริการ SMTP
| ผู้ให้บริการ | Host / Port | Username / Password |
|---|---|---|
| Gmail / Google Workspace | smtp.gmail.com · 587 STARTTLS | อีเมล Gmail + App Password 16 หลัก (เปิด 2-Step Verification ก่อน แล้วสร้างที่ myaccount.google.com → Security → App passwords) · ส่งได้ ~500 ฉบับ/วัน |
| Microsoft 365 / Outlook | smtp.office365.com · 587 STARTTLS | อีเมล + รหัสผ่าน (ผู้ดูแล M365 ต้องเปิด SMTP AUTH ให้กล่องจดหมายนั้น) |
| SendGrid | smtp.sendgrid.net · 587 | Username คือคำว่า apikey · Password คือ API Key |
| Brevo | smtp-relay.brevo.com · 587 | SMTP login + SMTP key จากหน้า SMTP & API |
| Amazon SES | email-smtp.<region>.amazonaws.com · 587 | SMTP credentials ที่สร้างใน SES (ไม่ใช่ Access key ปกติ) |
| อีเมลของโฮสติ้ง | ตามที่ผู้ให้บริการแจ้ง เช่น mail.โดเมน · 465 SSL หรือ 587 | อีเมลเต็ม + รหัสผ่านกล่องจดหมาย |
ให้อีเมลเข้ากล่องจดหมาย ไม่เข้าสแปม: ใช้อีเมลผู้ส่งที่เป็นโดเมนของตัวเอง และตั้งค่า SPF / DKIM ของโดเมนตามคู่มือผู้ให้บริการ — อีเมลผู้ส่งต้องเป็นโดเมนที่บริการนั้นอนุญาตให้ส่ง
ประวัติการส่ง + ส่งซ้ำ
- ด้านบนของหน้าตั้งค่าแสดงสถานะ: ส่งวันนี้ · ส่งแล้วทั้งหมด · ส่งไม่สำเร็จ · รอส่ง
- ประวัติการส่งอีเมล: วันที่ ประเภท ผู้รับ หัวเรื่อง สถานะ — กรองตามสถานะ / ค้นหาอีเมล · คลิกเลขรายการเพื่อไปหน้าการจอง/พัสดุ
- กดไอคอน เพื่อดูตัวอย่างอีเมล ที่ส่งจริง (HTML / ข้อความล้วน)
- ส่งไม่สำเร็จ: ระบบลองใหม่อัตโนมัติสูงสุด 3 ครั้ง (ห่างกันอย่างน้อย 5 นาที) หรือกด เพื่อส่งอีกครั้งทันที · สาเหตุแสดงใต้หัวเรื่อง
- หน้า รายละเอียดการจอง และ รายละเอียดพัสดุ แสดงอีเมลยืนยันล่าสุด + ปุ่ม ส่งอีเมลยืนยันอีกครั้ง (เช่น ลูกค้าแจ้งว่าไม่ได้รับ)
แก้ปัญหา
| ข้อความ / อาการ | สาเหตุ / วิธีแก้ |
|---|---|
535 … Username and Password not accepted | รหัสผ่านผิด · Gmail ต้องใช้ App Password ไม่ใช่รหัสผ่านบัญชี |
connect … failed: Connection refused / timed out | Host หรือ Port ผิด หรือโฮสติ้งบล็อกพอร์ตขาออก — ลองพอร์ต 587 ↔ 465 หรือสอบถามโฮสติ้ง |
TLS handshake failed | เลือกการเข้ารหัสไม่ตรงพอร์ต: 587 = STARTTLS, 465 = SSL/TLS |
MAIL FROM: 550 / 553 … | อีเมลผู้ส่งไม่ได้รับอนุญาตจากบริการ — ใช้อีเมลเดียวกับบัญชี หรือยืนยันโดเมนผู้ส่งในบริการนั้น |
| ลูกค้าไม่ได้รับ แต่ประวัติขึ้น "ส่งแล้ว" | ให้ลูกค้าดูโฟลเดอร์สแปม/โปรโมชัน · ตรวจ SPF/DKIM ของโดเมน · ตรวจว่าลูกค้ากรอกอีเมลถูก |
| ไม่มีอีเมลในประวัติเลย | ยังไม่เปิดสวิตช์การส่งอีเมล · ปิดตัวเลือก "ส่งอีเมลเมื่อ…" · หรือรายการนั้นไม่มีอีเมลลูกค้า |
| รายการค้าง "รอส่ง" | กดปุ่ม ส่งอีเมลที่ค้างอยู่ ในประวัติ |
