Làm thế nào để sửa lỗi trang WordPress không gửi được email?
17 Nov, 2021 admin
Hôm nay chúng ta lại tiếp tục đến mỗi lỗi thường gặp khác.
Đó là WordPress không gửi email khi bạn điền submit form, đăng ký thành viên…
Hay bất kỳ một thông báo nào gửi về email khi gặp lỗi trong admin.
Trong bài viết này Diều Hâu sẽ hướng dẫn bạn fix lỗi một cách chi tiết.
Và làm thế nào để email bạn gửi đi không bị vào mục spam.
Tại sao bạn không nhận được email từ WordPress
Nguyên nhân chủ yếu của lỗi này là do WordPress hosting bạn đang dùng.
Nó chưa cấu hình đúng để sử dụng chức năng PHP mail()
Kể cả hosting bạn đã config chính xác để sử dụng chức năng này.
Thì rất nhiều dịch vụ email như Gmail, sẽ sử dụng nhiều tool để giảm spam.
Những tool này sẽ xác định email này đến từ đâu (có bị list vào danh sách spam ko).
Email được gửi từ WordPress thường sẽ bị đánh dấu spam.
Và tất nhiên các email được gửi đi các plugin và thông báo của WordPress cũng bị.
Đó là lý do không nên dùng WordPress để gửi email newsletter.
Diều Hâu khuyên bạn nên sử dụng SMTP để gửi email trong WordPress.
SMTP là gì?
SMTP (Simple Mail Transfer Protocol) đây chính là giao thức chuẩn cho việc gửi email.
Không giống như chức năng PHP mail()
, SMTP sử dụng phương thức xác thực chính xác hơn.
Đồng nghĩa việc gửi email sẽ có tỉ lệ thành công cao hơn rất nhiều.
Rất đơn giản bạn chỉ cần sử dụng plugin WP Mail SMTP để cấu hình.
Nó sẽ giúp bạn gửi email qua SMTP thay vì chức năng PHP mail() của WordPress.
Bạn có thể kết nối với bất kỳ dịch vụ email nào như: SendinBlue, Gmail (G Suite), Office365, Amazon SES…
Okie bây giờ chúng ta sẽ đi sủa lỗi WordPress không gửi được email nhé.
1. Cài đặt plugin WP Mail SMTP
Việc đầu tiên bạn cần làm là cài đặt plugin WP Mail SMTP (free nhé).
Nếu vẫn chưa biết cài đặt như nào, hãy tham khảo hướng dẫn cài đặt plugin WordPress.
Cài xong thì bạn chuyển qua menu WP Mail SMTP » Settings.
WP Mail SMTP Lite (miễn phí)
Đến đây chúng ta sẽ bắt đầu cấu hình để gửi được email.
Đến đây nhập đúng địa chỉ email mà bạn muốn gửi đi.
Tiếp theo mình sẽ hướng dẫn bạn cầu hình với Gmail, dịch vụ email phổ biến nhất hiện nay.
Gửi email trên WordPress của bạn bằng Gmail
Nhập các thông tin sau:
- From Email: email dùng để gửi đi
- From Name: tên người gửi email
- Return Path: nên bật cái này nhé (khi có gửi email bị lỗi, nó sẽ gửi lại thông báo)
Anh em lưu ý Gmail chỉ phù hợp với các site có số lượng email gửi đi ít. Gmail API nó giới hạn cái này để tránh spam, cho nên site nào cần gửi số lượng email lớn nên dùng mailer khác như: Sendiblue, Amazon SES,Outlook…
Tiếp theo nó sẽ yêu cầu bạn nhập Client ID và Client Secret.
2. Tạo Google Client ID và Client Secret
Bạn sẽ cần truy cập vào link này để tiến hành tạo.
Nếu bạn dùng G Suite, hãy chắc chắn tài khoản Google bạn đang sử dụng có quyền gửi email nhé
Tích đồng ý điều khoản, Yes và Agree and continue
Tiếp theo click Go to credentials
Chọn Gmail API, Web server, User data và chọn What credential do I need?
Một popup hiện lên chọn set up consent screen
Bấm vào nó sẽ tiếp đến một cửa sổ mới, đừng tắt tab ban đầu nhé.
Chút nữa bạn sẽ cần quay lại nó và tiếp tục.
Tùy chọn Internal chỉ chọn được khi bạn dùng Gsuit thôi nhé.
Tiếp theo điền Application name (tên website, hoặc bất kỳ tên nào)
Tiếp theo đến phần Authorized domains, điền đúng domain bạn là được.
Kiểm tra lại lần cuối và bấm Save.
Bấm save xong bạn sẽ quay lại phần API credential, hoặc bạn trực tiếp quay lại tab đầu.
Trường Name điền bất kỳ tên gì bạn muốn.
- Authorized JavaScript origins: điền URL website của bạn
- Authorized redirect URIs trong phần setting WP Mail SMTP
Điền đầy đủ thông tin xong bấm Refesh và Creat OAuth client ID
Phần này bạn có thể chọn I’ll do this later
Sang đến Credential page, bạn sẽ thấy thông tin chi tiết của web application bạn vừa tạo.
Để xem thông tin chi tiết, Client ID và Client Secret bấm vào biểu tượng để Edit
Copy các thông tin này và điền lại vào trong setting WP Mail SMTP là được.
Điền xong nhớ bấm save và chọn Alow plugin to send email using your Google account
Tiếp tục popup hiện lên và bạn sẽ cần chọn Alow để tiến hành.
Giờ bạn sẽ vào phần Email Test để kiểm tra có gửi email thành công không.
Có thông báo như ở dưới ảnh là thành công nhé.
Một số câu hỏi khác
Nếu Email Test gửi không thành công thì sao?
Nếu email test không thể gửi được, sẽ có một debug log hiện lên chi tiết. Gồm một số lỗi dưới đây mà bạn có thể gặp phải
401. That’s an error.
401. That’s an error
Error: invalid_client
Nếu lỗi này xuất hiện, có nghĩa là Client ID bị lỗi chưa chính xác nên không thể chạy được.
Để fix, thử copy và paste lại, chắc chắn không có khoảng trắng nào nhé.
400. That’s an error
400. That’s an error
Error: invalid_request
Missing required paremeter: client_id
Lỗi này sẽ hiển thị khi trường Client ID chưa được điền hoặc không chính xác.
Kiểm tra kỹ lại và copy paste lại nhé.
cURL error 60: SSL certificate problem
Điều này có nghĩa là server thiếu một chứng chỉ để SMTP hoạt động.
Bạn có thể nhờ bên hosting hỗ trợ vấn đề này nhé.
“code”:401,
“messenger”:”Login Required”
Bạn sẽ cần cấp quyền cho tài khoản Google.
Nhớ là email trong trường From Email, phải khớp với email cài đặt trong Google app nhé.
Nếu tất cả các trường hợp trên bạn đã kiểm tra vẫn không gửi được email.
Thì hãy kiểm tra xem tài khoản Google có bị disable Gmail API không.
Để kiếm tra làm theo hướng dẫn kích hoạt API.
Okie vậy là bạn đã thành công việc cài đặt gửi email bằng Gmail trong WordPress.
Nếu có bất kỳ cầu hỏi gì hãy comment ở dưới, mình sẽ trả lời bạn.
Chúc bạn thành công!