วิธีแก้ปัญหาส่งเมลเข้า Gmail ไม่ได้ (Error 550 5.7.1 - IPv6)
หากคุณพบปัญหาการส่งอีเมลจากเซิร์ฟเวอร์ส่วนตัว (VPS/Dedicated) ไปยัง Gmail แล้วถูกตีกลับด้วยข้อความ "550-5.7.1 The IP you're using to send mail is not authorized..." สาเหตุส่วนใหญ่มักเกิดจากเซิร์ฟเวอร์ส่งออกด้วย IPv6 ที่ไม่ได้ตั้งค่ายืนยันตัวตนไว้อย่างถูกต้อง
1. สาเหตุของปัญหา
ปัจจุบัน Google มีนโยบายความปลอดภัยที่เข้มงวด หากเซิร์ฟเวอร์ของคุณมีทั้ง IPv4 และ IPv6 ระบบส่งเมลมักจะเลือกใช้ IPv6 เป็นค่าเริ่มต้น แต่หากเลข IPv6 นั้นไม่มีชื่ออยู่ใน SPF Record หรือไม่มีการทำ Reverse DNS (PTR) ทาง Google จะปฏิเสธการรับอีเมลทันที
2. วิธีตรวจสอบว่าเซิร์ฟเวอร์ใช้ IPv6 หรือไม่
รันคำสั่งนี้ใน Terminal (SSH) เพื่อตรวจสอบเลข IP ที่ใช้เชื่อมต่อออกภายนอก:
curl -6 icanhazip.com
หากปรากฏเลข IP ชุดยาว (เช่น 2001:db8::1) แสดงว่าเซิร์ฟเวอร์ส่งข้อมูลผ่าน IPv6 อยู่
3. วิธีแก้ไข: ปิด IPv6 และบังคับให้ส่งผ่าน IPv4
วิธีที่ง่ายและได้ผลที่สุดสำหรับ DirectAdmin คือการปิด IPv6 ที่ระดับ OS และตัว Mail Server:
A: ปิดที่ระดับระบบปฏิบัติการ (AlmaLinux / CentOS / Ubuntu)
# ตั้งค่าให้มีผลทันที
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1sysctl -w net.ipv6.conf.lo.disable_ipv6 = 1
B: ตั้งค่าให้มีผลถาวรใน /etc/sysctl.conf
เปิดไฟล์ด้วย nano หรือ vi และเพิ่มบรรทัดล่างสุด:
net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
บันทึกไฟล์และสั่งให้ค่ามีผลทันที:
sysctl -p
4. ตั้งค่าใน Mail Server (Exim / DirectAdmin)
แก้ไขไฟล์คอนฟิกของ Exim เพื่อสั่งปิดการใช้ IPv6 ในการส่งเมล:
nano /etc/exim.conf
เพิ่มบรรทัดนี้ไว้บนสุดของไฟล์:
disable_ipv6 = true
จากนั้นทำการ Restart บริการ:
systemctl restart exim
v=spf1 ip4:YOUR_SERVER_IP ~all