WordPress – WP Mail SMTP
WordPress ส่งเมล์ไม่ได้ ตกถังขยะ เป็น spam แก้ปัญหาด้วย WP Mail SMTP
สำหรับท่านที่ใช้ WordPress แล้วมีปัญหา การส่งเมล์ไม่ได้ หรือเมล์ตกถังขยะ (กล่อง spam) เมื่อใช้งานร่วมกับปลั๊กอินต่าง ๆ เช่น contact form 7 หรือ WooCommerce บนความนี้มีคำแนะนำสำหรับการตั้งค่าทั้งใน Gmail และ Hotmail เพื่อแก้ไขปัญหานี้ครับ
แนะนำปลั๊กอินที่ใช้สำหรับการทำ Mail SMTP
มีปลั๊กอินสำหรับการทำ SMTP ให้เราได้เลือกใช้อยู่ 2 ตัว แต่สำหรับวิธีการในบทความนี้ผมเลือกใช้ตัว WP Mail SMTP by WPForm เป็นหลักครับ เนื่องจากปลั๊กอินตัวนี้มียอดดาวน์โหลดมากกว่านั้นเอง
สารบัญเนื้อหา
- ปัญหาส่งเมล์ไม่ได้เกิดจากอะไร
- SMTP คืออะไร
- แก้ปัญหาส่ง Gmail หรือ G-suit ไม่ได้
- แก้ปัญหาส่ง Hotmail หรือ Outlook ไม่ได้
- แก้ปัญหาส่งเมล์ไม่ได้ บน E-mail Hosting
บทความแนะนำสำหรับผู้เริ่มต้น WordPress
1. ปัญหาส่งเมล์ไม่ได้เกิดจากอะไร
อีเมลคือจดหมายอิเล็กทรอนิกส์ ที่ทุกคนสามารถเปิดใช้บริการได้ฟรี และยังเป็นเครื่องมือสำหรับการทำตลาดออนไลน์อีกด้วย ทำให้ปัจจุบันมีจำนวนบัญชีอีเมลทุกถูกใช้งานจากคนทั้งโลกมีจำนวนมหาศาล
เมื่อมีอีเมลจำนวนมาก แน่นอนย่อมมีทั้งอีเมลที่เชื่อถือได้ และอีเมลที่สร้างขึ้นมาหลอกหลวง (spam) เพื่อหวังผลทางการตลาด ทำให้ผู้ให้บริการอีเมลหลายๆ เจ้าต้องวางระบบในการคัดเลือกอีเมลที่ควรแสดงในกล่อง Inbox ของผู้ใช้งาน เพื่อป้องกันไม่ให้ผู้ใช้อีเมลได้รับเมลที่เป็น spam เยอะเกินไปนั้นเอง
ดังนั้น การที่อีเมลของคุณ ส่งไปไม่ถึงอีเมลผู้รับ หรือส่งเมลได้แต่ไปตกอยู่ที่ถังขยะ เกิดจากความไม่น่าเชื่อถือจากแหล่งต้นทางของอีเมลที่คุณใช้ในการส่งข้อมูล เช่น จาก Website หรือ Application ต่าง ๆ
ผู้ให้บริการอีเมลต่าง ๆ ไม่ว่าจะเป็น Gmail หรือ Hotmail วัดความน่าเชื่อถือการรับส่งข้อมูล ผ่าน protocol จาก server ของแหล่งที่ใช้ส่ง email หากคุณใช้ Share Hosting ซึ่งเป็น Host server ที่มี user ใช้งานร่วมกันบน IP เดียวกัน หลายคน
หากมี User คนใดทำอีเมล spam จำนวนมากและผิดปกติ ก็จะถูกผู้ให้บริการอีเมล Block IP ของ Server นั้น (โฮสติด Blacklist และจัดประเภทการรับส่งข้อมูลนั้นเป็น spam ทันที ทำให้อีเมลของเราติดร่างแห่ไปด้วย เพราะเราใช้ Server เดียวกันกับเขา
2.SMTP คืออะไร
SMTP ย่อมาจาก Simple Mail Transfer Protocol คือ มาตราฐานบน Internet สำหรับการรับส่ง Email เพื่อให้การรับส่งข้อมูลมีความน่าเชื่อถือและถูกต้อง
SMTP ก็เปรียบเสมือน ผู้ให้บริการส่งจดหมาย แต่จดหมายนี้มันอยู่ในรูปแบบ digital จับต้องไม่ได้ ดังนั้น ผู้ให้บริการแต่ละที่ก็ต้องตรวจสอบคุณก่อนเลยว่าคุณเป็นลูกค้าหรืออยู่ใน ฐานข้อมูลเค้าอยู่หรือไม่ ถ้าอยู่ ก็ยอมให้ส่งออกไป SMTP จึงทำหน้าที่เป็น Server ขาออกของอีเมล์แทน Web server ของโฮสที่เราใช้งาน
ศึกษาเรื่องนี้เพิ่มเติมได้ที่: SMTP คืออะไร และ ทำหน้าที่อะไร โดยเฉพาะคนใช้อีเมล์เป็นประจำ
3. แก้ปัญหาส่ง Gmail/G-suit ไม่ได้
*ดูคลิปเพื่อให้เข้าใจหลักการ ว่า SMTP คืออะไร ทำไมเราต้องทำ SMTP ด้วย
ส่วนวิธีการตั้งค่า ให้ดูจากบทความการตั้งค่าด้านล่างคลิปแทนครับ
วิธีตั้งค่า SMTP
ขั้นตอนแรก ติดตั้งปลั๊กอิน WP Mail SMTP
หลักจาติดตั้งปลั๊กอินเรียบร้อยแล้ว
ถ้าเจอรูปภาพแบบนี้ ให้กดที่ Go back to the Dashboard ก่อน
ไปที่เมนู WP Mail SMTP > Settings เพื่อตั้งค่าการใช้งาน
ขั้นตอนต่อมาเราต้องทำการเชื่อมโยงบัญชีกับ Google API
เข้าไปที่ลิงค์นี้ Google Cloud Console.
สำหรับคนที่เข้ามาใช้งานครั้งแรก จะเจอหน้านี้ ให้เลือก ประเทศไทย และติ๊กเลือก I agree และคลิก agree and continue
เลือกสร้างโปรเจค (Create a project) แล้วคลิก new project
คลิก create
เปิดใช้งาน the Gmail API
ดูที่เมนูทางด้านซ้ายมือ คลิก APIs & Service > Library
มองหาคำว่า Email คลิกเข้าไป
คลิกเข้าไปที่รูป Gmail API
คลิก Enable
สร้าง Application’s Credentials
คลิกคำว่า create credentials
คลิกเลือกการตั้งค่า ตามรูปด้านล่างได้เลย
App name: ใส่ชื่อโดเมน หรือชื่อเรียกของ App ตามต้องการ
User support email: ใส่อีเมลที่คุณต้องการทำ SMTP
Dev Contact Email: ใส่อีเมลของคุณเอง หรือทีมงานลงไป
ดูที่หัวข้อ Your restricted scopes คลิก Save and Continue
OAuth Client ID ให้เลือก Web application
จากนั้นให้คัดลอก URL นี้ https://connect.wpmailsmtp.com/google/ แล้วเอาไปวางที่ช่อง Authorized redirect URIs จากนั้นให้คลิก create ให้เรียบร้อย
เจอหน้าตาแบบนี้ให้คลิก DONE
Publishing Status from Testing to Production
ดูเมนูทางซ้าย เลือกหัวข้อ OAuth consent screen > คลิกที่ Publish App
หากกดแล้วเจอคำว่า Confirm ก็ให้กดคำว่า Confirm ด้วย
Granting Your Site Google / Gmail Permissions
ดูที่เมนูด้านซ้าย เลือก Credentials จากนั้นให้กด Edit ตรงรูปดินสอ ตามรูปขวามือ
คัดลอก client ID และ client secret ไปใส่บนเว็บ
วางรหัส ID ที่คัดลอกมาลงไป แล้วคลิก Save Setting
คลิกปุ่มสีเหลืองๆ ที่มีคำว่า Allow plugin
เลือกชื่ออีเมล คลิก Allow
หากเจอหน้าตาแบบนี้ ให้คลิก Advance
จากนั้นให้คลิก Go to wpmailsmtp.com (unsafe)
หากเจอรูปนี้ ให้คลิก Continue ได้เลย
ทดสอบ การส่งอีเมล
ให้คลิกที่ Email Test เพื่อทดสอบการส่งอีเมล
การทำ SMTP จะสมบูรณ์เมื่อเราได้รับอีเมลจากการทำ Email Test
………………………….
**แต่ในบางครั้งเมื่อถึงขั้นตอนยืนยันตัวตนกับ Google APIs แล้วเกิด 403 Error ตามรูปด้านล่าง สาเหตุหลักๆ คือติดปัญหา Web Application Firewall ให้เราแจ้งโฮสเพื่อปิด Firewall ของโดเมนที่เราทำ SMTP ก่อนครับ
แต่ถ้าคุณเจอ Error แบบนี้
เป็นปัญหาการยืนยันสาธารณะ คุณต้องเข้าไปตั้งค่าตามรูปนี้ก่อนครับ คลิกที่ Publish APP
คอร์สเรียน SEO WordPress
4. แก้ปัญหาส่ง Hotmail หรือ Outlook ไม่ได้
สำหรับผู้ที่ใช้บริการ Hotmail สามารถตั้งค่า SMTP ตามรูปภาพนี้ได้เลยครับ
SMTP Settings ในบริการอื่นๆ ของค่าย Hotmail
Outlook.com SMTP Settings
Host: smtp-mail.outlook.com
Port: 587
Username: Your Outlook.com account email (e.g. [email protected])
Password: Your Outlook.com account password
Encryption: TLS
Office 365 SMTP Settings
Host: smtp.office365.com
Port: 587
Username: Your Office 365 account email
Password: Your Office 365 account password
Encryption: TLS
Hotmail SMTP Settings
Host: smtp.live.com
Port: 587
Username: Your Hotmail account email (e.g. [email protected])
Password: Your Hotmail account password
Encryption: TLS
5. แก้ปัญหาส่งเมล์ไม่ได้ บน Email Hosting
Email Hosting คือ การให้บริการเก็บข้อมูล Email แยกออกจาก Web hosting เหมาะสำหรับบริษัทหรือองค์กร ที่มีผู้ใช้งานบัญชีอีเมลจำนวนมาก และต้องการใช้ชื่อโดเมนเป็นนามสกุลของอีเมล
เว็บไซต์หลายแห่งมักจะตั้ง E-Mail ลักษณะนี้ด้วย บัญชีชื่อ
คลิก SMTP Settings เพื่อตั้งค่าการใช้งาน
กำหนดรายละเอียดการตั้งค่าดังนี้
- From Email : ระบุ Email Account ที่ต้องการ *** แนะนำให้เป็น account เดียวกับที่คุณใช้งาน (SMTP Username) เพื่อเพิ่มความน่าเชื่อถือให้กับอีเมลที่ถูกส่งไปยังปลายทาง ทำให้มีโอกาสตกกล่อง junk น้อยลง***
- From Name : ระบุชื่อผู้ส่ง
- Mailer : ให้เลือกอีเมลที่ใช้บริการ แนะนำให้เลือกเป็น other SMTP
- SMTP Host : ระบุชื่อ hostname หรือ IP address ของเซิร์ฟเวอร์ที่คุณใช้งาน
- SMTP Port : กำหนด Port การเชื่อมต่อเป็น 25 หรือ 587 (แนะนำเป็น 587)
- Encryption : เลือก None
- Auto TLS : ให้เลื่อนมาทางซ้าย เพื่อเปิดการใช้งาน หรือ ON
- Authentication : ให้เลื่อนมาทางซ้าย เพื่อเปิดการใช้งาน หรือ ON
- SMTP Username : ระบุชื่อบัญชีผู้ใช้งานอีเมล
- SMTP Password : ระบุรหัสผ่านผู้ใช้งาน
จากนั้นคลิก Save Changes