บทเรียน 03 — เพิ่ม contact form ส่งถึงอีเมลจริงด้วย FormSubmit
เว็บเกิดแล้ว แต่ยังเป็น “หน้าอ่านอย่างเดียว” บทนี้เพิ่มช่องทางให้ลูกค้าติดต่อกลับ: contact form ที่ส่งข้อความถึงอีเมลจริง โดยไม่ต้องเขียน backend เอง — ใช้บริการ FormSubmit ซึ่ง agent เลือกให้ พร้อมขั้นตอนยืนยันเจ้าของอีเมลที่มนุษย์ต้องทำเอง
เป้าหมายของบทนี้: มีฟอร์มที่ใช้งานได้จริงบนหน้า contact และเข้าใจว่าทำไมการ activate อีเมลจึงหลีกเลี่ยงไม่ได้
Prompt ที่ใช้
อ่า ช่วยแก้ไขตัวเว็บไซต์ให้มี contact form ให้หน่อย เมื่อลูกค้ามีการกรอก contact form มาแล้ว ให้ส่งไปที่อีเมล sayhi@rawinsoft.com. ให้ค้นหาสถานที่ท่องเที่ยวทั่วใกล้ภูเก็ต แล้วก็ทำระบบ Searching ให้ด้วย. เมื่อเสร็จแล้วให้อัปเดตไซต์เดิม.

prompt นี้รวมสองงานในข้อความเดียว (contact form + ระบบค้นหา) — ทำได้ เพราะ agent แยกทำเป็น step ของมันเอง แต่ถ้าคุณเพิ่งเริ่ม แยกเป็นสอง prompt จะตรวจผลง่ายกว่า เราจะแยกพิจารณาเป็นสองบท: ฟอร์มในบทนี้ และระบบค้นหาใน บท 04
ผลลัพธ์
agent ทำงาน 19 นาที 30 วินาที ระหว่างนั้น หยุดถามกลับมาหาเราหนึ่งครั้ง — นี่คือจุดสำคัญของบทนี้:

FormSubmit ส่งอีเมลยืนยันไปที่ sayhi@rawinsoft.com แล้ว agent ขอให้เราเปิดอีเมลและกด “Activate Form” (ตรวจโฟลเดอร์สแปมด้วย) เพื่อเปิดรับข้อความจากฟอร์ม — เรากดยืนยันเสร็จแล้วตอบกลับ “ยืนยันอีเมลแล้ว” agent จึงทำต่อจนจบ และสรุปว่า:
- เพิ่มฟอร์มติดต่อไปยัง sayhi@rawinsoft.com พร้อมแจ้งข้อผิดพลาดและเก็บข้อความไว้ในเครื่องหากส่งไม่สำเร็จ
- (ส่วนระบบค้นหา — ดูบท 04)
จากนั้น agent ทดสอบยืนยันว่าอีเมลมาถึงจริง โดยถามหาข้อความทดสอบหัวข้อ “[เล ไปกัน] ทดสอบหลังยืนยัน — URL หลัก” — สังเกตว่ามันไม่หลอกตัวเองว่า “น่าจะส่งได้” แต่ขอหลักฐานจากปลายทาง ครั้งนี้แก้ไฟล์ 18 ไฟล์ (+454 บรรทัด)

ทำไมต้อง Activate Form และใครต้องกด
| ขั้นตอน | ใครทำ | ทำไม |
|---|---|---|
| สร้างฟอร์มและเชื่อมปลายทางอีเมล | agent | เป็นโค้ดและการตั้งค่า |
| กด Activate Form ในอีเมลยืนยัน | เจ้าของอีเมล | พิสูจน์ว่าเป็นเจ้าของกล่องอีเมลจริง บริการจึงเปิดรับข้อความ — ความปลอดภัยที่ agent ยืนแทนเราไม่ได้ |
| ทดสอบส่งจริงและยืนยันว่าได้รับ | agent + เรา | ปิดจ๊อบด้วยหลักฐาน ไม่ใช่ความเชื่อ |
ข้อควรระวังและบทเรียน
- ฟอร์มที่ยังไม่ activate = ข้อความหายเงียบ — ถ้าลืมกดยืนยัน ลูกค้ากรอกแล้วเหมือนสำเร็จ แต่เจ้าของเว็บไม่มีอีเมอร์ใด ๆ ถึงมือ ตรวจสแปมทุกครั้งที่เปิดฟอร์มใหม่
- โดเมนใหม่ต้อง activate ใหม่ — หลัง deploy ขึ้นโดเมนจริงใน บท 07 agent เตือนไว้เองว่า “ฟอร์มอีเมลบนโดเมนใหม่ยังไม่ได้ทดสอบส่งจริง” — เปิดฟอร์มจากโดเมนไหนก็ต้องยืนยันและทดสอบที่โดเมนนั้น
- เตรียมรับว่า agent จะถามกลับ — งานที่แตะต้อง identity จริง (อีเมล โดเมน บัญชี) มนุษย์ต้องลงมือเสมอ ให้ถือว่าเป็นด่านตรวจ ไม่ใช่สะดุด
- การเก็บข้อความสำรองเมื่อส่งไม่สำเร็จเป็นแนวทางที่ดี — ผู้ใช้ไม่ต้องพิมพ์ใหม่ และเราไม่พลาด lead