ตั้งค่า Catch-All Email ใน cPanel

รับ Email ที่ส่งมาทุกชื่อในโดเมน แม้ชื่อที่ไม่มีอยู่จริง — เหมาะกับธุรกิจ แต่ต้องระวังเรื่อง Spam มาดูวิธีตั้งค่าและทางเลือกที่ปลอดภัยกว่า

ตั้งค่า Catch-All Default Address Email ใน cPanel รับจดหมายทุกชื่อในโดเมน

Catch-All Email คืออะไร

Catch-All (ในcPanel เรียก "Default Address") คือการกำหนดให้ Email ที่ส่งมายังชื่อใดก็ตามในโดเมนของคุณ — เช่น sales@, hr@, หรือแม้แต่ชื่อที่พิมพ์ผิดอย่าง infoo@ — ถูกส่งไปรวมที่ Mailbox เดียวที่กำหนดไว้ แทนที่จะ Bounce กลับผู้ส่ง

ต่างจาก Forwarder ตรงที่ Forwarder ต้องระบุชื่อเฉพาะเจาะจง ส่วน Catch-All ครอบคลุม "ทุกชื่อที่ไม่มี Account จริง" ในครั้งเดียว

ข้อดีและข้อเสีย

ข้อดี

ข้อเสีย

คำแนะนำ: สำหรับโดเมนใหม่ที่ยังไม่ค่อยมีคนรู้จัก Catch-All ยังพอใช้ได้ แต่โดเมนที่เปิดมานานและถูก Bot รู้จักแล้ว แนะนำตั้งเป็น "Discard" แล้วใช้ Forwarder เฉพาะชื่อที่ต้องการแทน

ตั้งค่า Catch-All ใน cPanel ทีละขั้น

  1. Login cPanel → Section "Email" → คลิก "Default Address"
  2. เลือกโดเมนจาก Dropdown (ถ้ามีหลายโดเมน)
  3. เลือกตัวเลือก "Forward to email address" แล้วกรอก Mailbox ที่ต้องการรับ เช่น [email protected]
  4. กด "Change" เพื่อบันทึก

ตั้งแต่นี้ Email ที่ส่งมายังชื่อที่ไม่มี Account จริงในโดเมนจะถูกส่งเข้า [email protected] ทั้งหมด

ทางเลือกที่ปลอดภัยกว่า: Discard with Error

ถ้าไม่อยากรับ Spam จากชื่อสุ่ม ให้เลือก "Discard the email while the sender's mail server tries to send the message by using an error message" แล้วใส่ข้อความเช่น "No such user here" วิธีนี้ Email ถึงชื่อที่ไม่มีอยู่จริงจะถูกปฏิเสธทันทีที่ระดับ SMTP — ผู้ส่งจริงจะรู้ว่าพิมพ์ผิด ส่วน Bot จะไม่ได้อะไรไป

# รูปแบบการทำงานเทียบกัน
ส่งถึง sales@ (มี Account)      → เข้า Mailbox sales ปกติ
ส่งถึง typo@ (Catch-All=Forward) → เข้า admin@ (เสี่ยง Spam)
ส่งถึง typo@ (Catch-All=Discard) → ปฏิเสธ + แจ้ง error กลับผู้ส่ง

ใช้ร่วมกับ Forwarder และ Spam Filter

แนวทางที่ดีที่สุดสำหรับธุรกิจคือ ปิด Catch-All (ตั้งเป็น Discard) แล้วสร้าง Forwarder เฉพาะชื่อที่ใช้งานจริง เช่น sales@, support@, info@ ไปรวมที่ Inbox เดียว จากนั้นเปิด SpamAssassin ใน cPanel เพื่อกรองอีกชั้น ดูเพิ่มที่บทความ ตั้งค่า Spam Filter และ สร้าง Email Forwarder

ตรวจสอบว่า Catch-All ทำงานถูกต้อง

# 1. ส่งทดสอบไปชื่อที่ไม่มีอยู่จริง
ส่ง Email จาก Gmail → [email protected]

# 2. ถ้าตั้ง Forward: ตรวจว่าถึง Mailbox ปลายทาง
เปิด [email protected] → ควรเห็น Email ทดสอบ

# 3. ถ้าตั้ง Discard: ตรวจว่าผู้ส่งได้รับ Bounce
Gmail จะแจ้ง "Address not found" กลับมา

# 4. ดู Log การทำงานใน cPanel
cPanel → Email → Track Delivery → ค้นหา randomtest123
Tip: หลังตั้งค่าเสร็จ รอ 1-2 นาทีให้ Mail Server โหลดค่าใหม่ แล้วค่อยทดสอบ ถ้ายังไม่ทำงานให้เคลียร์ Cache ของโปรแกรม Email Client ด้วย

แก้ปัญหาที่พบบ่อย

Catch-All รับ Spam เยอะมากจน Mailbox เต็ม

เปลี่ยนจาก Forward เป็น Discard with error message ทันที แล้วสร้าง Forwarder เฉพาะชื่อที่ใช้จริง วิธีนี้ลด Spam ได้เกือบหมดเพราะ Bot ที่สุ่มชื่อจะโดนปฏิเสธตั้งแต่ระดับ SMTP

Email ที่ส่งให้ Account จริงก็ไปเข้า Catch-All ด้วย

เป็นไปไม่ได้ในการทำงานปกติ — Catch-All จับเฉพาะชื่อที่ "ไม่มี Account จริง" เท่านั้น ถ้าเกิดอาการนี้ ให้ตรวจว่า Account นั้นถูกสร้างจริงใน Email Accounts และสะกดชื่อถูกต้อง

ตั้ง Discard แล้ว Email สำคัญที่พิมพ์ชื่อผิดหายไป

นี่คือ Trade-off ของ Discard ถ้ากังวลให้ใช้ Forward ไปยัง Mailbox ที่เปิด SpamAssassin ระดับเข้มแทน เพื่อยังรับ Email พิมพ์ผิดได้แต่กรอง Spam ออก

หาเมนู Default Address ไม่เจอ

cPanel บางธีม (เช่น Jupiter) จัดเมนูต่างกัน ใช้ช่อง Search ด้านบนพิมพ์ "Default Address" หรือ "Catch" ระบบจะพาไปที่หน้าตั้งค่าโดยตรง

คำถามที่พบบ่อย

Q: Catch-All ต่างจาก Email Forwarder อย่างไร?

A: Forwarder ส่งต่อเฉพาะชื่อที่ระบุ (เช่น sales@ → mygmail) ส่วน Catch-All ครอบทุกชื่อที่ไม่มี Account จริงในโดเมนพร้อมกัน Catch-All เหมาะเป็น "ตาข่ายดักท้ายสุด" ส่วน Forwarder ใช้กับชื่อเฉพาะ

Q: เปิด Catch-All ทำให้โดเมนติด Blacklist ไหม?

A: การ "รับ" ไม่ทำให้ติด Blacklist แต่ถ้า Catch-All รับ Spam แล้วระบบ Auto-reply หรือ Forward ต่อจำนวนมาก อาจส่งผลต่อชื่อเสียงโดเมนได้ จึงควรปิด Auto-responder บน Mailbox ที่รับ Catch-All

Q: มีหลายโดเมนใน cPanel ต้องตั้ง Catch-All แยกไหม?

A: ใช่ ต้องตั้งแยกทีละโดเมนในหน้า Default Address โดยเลือกโดเมนจาก Dropdown แต่ละโดเมนมีค่า Catch-All ของตัวเอง