Khắc phục lỗi WordPress wp_mail authentication failed: Nguyên nhân và giải pháp toàn diện

wordpress wp_mail authentication failed

Lỗi wp_mail authentication failed trong WordPress là gì?

wordpress wp_mail authentication failed - Hình 5

Lỗi wordpress wp_mail authentication failed xuất hiện khi hàm wp_mail() không thể xác thực với máy chủ SMTP để gửi email. WordPress mặc định sử dụng hàm PHP mail() nhưng ngày càng nhiều hosting chặn hoặc hạn chế chức năng này vì lý do bảo mật. Khi đó bạn cần cấu hình SMTP để gửi email qua các dịch vụ như Gmail, Outlook, SendGrid, hoặc máy chủ SMTP riêng.

Lỗi này thường khiến website không gửi được email đặt lại mật khẩu, thông báo đơn hàng, hoặc email liên hệ. Nếu không xử lý kịp thời, trải nghiệm người dùng và hiệu suất kinh doanh sẽ bị ảnh hưởng nghiêm trọng.

Nguyên nhân chính gây ra lỗi wp_mail authentication failed

wordpress wp_mail authentication failed - Hình 4

Thông tin xác thực SMTP sai hoặc không đồng bộ

Nguyên nhân phổ biến nhất là nhập sai tên người dùng, mật khẩu SMTP hoặc mã ứng dụng (app password) khi sử dụng tài khoản Gmail với xác thực hai yếu tố. Nhiều người dùng vô tình nhập mật khẩu Gmail thông thường thay vì mã ứng dụng, dẫn đến lỗi xác thực.

Cài đặt bảo mật của dịch vụ email

Các dịch vụ như Gmail, Outlook thường chặn các ứng dụng kém an toàn. Nếu không bật cho phép ứng dụng kém an toàn hoặc không tạo mã ứng dụng, quá trình xác thực sẽ bị từ chối. Ngoài ra, một số máy chủ SMTP yêu cầu kết nối SSL/TLS với cổng cụ thể, nếu cấu hình sai cổng hoặc giao thức thì lỗi xảy ra ngay.

Plugin SMTP cũ hoặc xung đột

Plugin SMTP như WP Mail SMTP, Easy WP SMTP, Post SMTP có thể bị lỗi sau khi cập nhật WordPress hoặc xung đột với plugin gửi thư khác. Một số plugin cũ không hỗ trợ OAuth 2.0, trong khi Gmail và Outlook đã loại bỏ xác thực cơ bản.

Tường lửa hoặc giới hạn từ hosting

Máy chủ hosting có thể chặn các kết nối ra ngoài đến cổng SMTP (25, 465, 587). Hoặc dịch vụ email gửi đi bị giới hạn số lượng mail mỗi giờ. Điều này cũng gây ra lỗi authentication failed một cách gián tiếp.

Phân biệt các loại lỗi xác thực SMTP thường gặp

wordpress wp_mail authentication failed - Hình 3
Mã lỗi Nội dung thông báo Nguyên nhân chính
535 Authentication failed Thông tin đăng nhập sai hoặc tài khoản không có quyền
550 Mailbox unavailable Địa chỉ người nhận không tồn tại hoặc bị chặn
553 Authentication required Máy chủ yêu cầu xác thực nhưng chưa được thiết lập
504 Unrecognized authentication type Phương thức xác thực không được hỗ trợ (ví dụ: PLAIN thay vì LOGIN)

Lỗi wordpress wp_mail authentication failed thường tương ứng với mã lỗi 535 hoặc 553. Khi kiểm tra log lỗi của plugin SMTP, bạn sẽ thấy mã này.

Hướng dẫn khắc phục lỗi từng bước cụ thể

wordpress wp_mail authentication failed - Hình 2

Bước 1: Xác minh thông tin tài khoản SMTP

Nếu bạn sử dụng Gmail: Đảm bảo đã tạo mã ứng dụng (App Password) từ tài khoản Google nếu bạn bật xác thực hai yếu tố. Nếu chưa bật, hãy vào mục Bảo mật và bật tính năng “Cho phép ứng dụng kém an toàn” (có thể không còn khả dụng với tài khoản mới). Với Outlook: Sử dụng mật khẩu thông thường hoặc mã ứng dụng. Với SMTP từ hosting: Kiểm tra thông tin trong control panel hoặc liên hệ nhà cung cấp.

Bước 2: Kiểm tra cổng và giao thức kết nối

Hãy đảm bảo cặp cổng và giao thức đúng:

    • Gmail: SMTP: smtp.gmail.com, Cổng: 587 (STARTTLS) hoặc 465 (SSL)
    • Outlook: SMTP: smtp-mail.outlook.com, Cổng: 587 (STARTTLS)
    • SendGrid: smtp.sendgrid.net, Cổng: 587 (STARTTLS)
    • Hosting thường: smtp.yourdomain.com, Cổng: 465 hoặc 587

Nếu sử dụng cổng 465, chọn giao thức SSL. Nếu sử dụng cổng 587, chọn STARTTLS hoặc TLS.

Bước 3: Cấu hình plugin SMTP đúng cách

Cài đặt plugin WP Mail SMTP và vào Settings > Email. Chọn mailer là “Other SMTP”. Điền thông tin chính xác: Từ tên, từ email, máy chủ SMTP, cổng, mã hóa. Tại mục Authentication, để On. Nhập tên người dùng và mật khẩu. Nhấn “Save Settings” và sử dụng tính năng “Send a Test Email” để kiểm tra.

Nếu vẫn lỗi, hãy bật tính năng ghi log (nếu plugin có) để xem thông báo chi tiết từ máy chủ SMTP.

Bước 4: Sử dụng OAuth 2.0 cho Gmail/Outlook

Với Gmail, hiện tại Google yêu cầu OAuth 2.0 thay vì mật khẩu ứng dụng đối với nhiều tài khoản. Plugin WP Mail SMTP có hỗ trợ OAuth: bạn cần tạo project trong Google Developer Console, lấy Client ID và Client Secret, sau đó nhập vào plugin. Quá trình này phức tạp hơn nhưng an toàn và bền vững. Nếu bạn không muốn làm, giải pháp tạm thời là tạo app password.

Bước 5: Kiểm tra firewall và logging

Liên hệ nhà cung cấp hosting để kiểm tra xem cổng SMTP có bị chặn không. Một số host có tính năng “SMTP restriction”.

Kiểm tra lại xem plugin SMTP có đang sử dụng đúng mailer không. Đôi khi plugin vẫn dùng PHP mail mặc định dù đã cài đặt. Vào mục Settings > Email và chắc chắn rằng mailer được chọn là “Other SMTP” hoặc “Gmail” tương ứng. Ngoài ra, hãy bật debug mode trong wp-config.php để xem lỗi chi tiết: define(‘WP_DEBUG’, true); define(‘WP_DEBUG_LOG’, true);.

Có cần thiết phải tạo App Password cho Gmail không?

Nếu tài khoản Google của bạn bật xác thực hai yếu tố, bắt buộc phải tạo App Password. Nếu không bật,

Có. Hosting chia sẻ thường hạn chế số lượng email gửi đi mỗi giờ. Nếu vượt quá giới hạn, máy chủ SMTP từ chối xác thực. Nâng cấp lên hosting cao hơn hoặc sử dụng dịch vụ email chuyên biệt sẽ giảm thiểu vấn đề.

Tôi có thể gửi email mà không cần plugin SMTP không?

Có, bạn có thể thêm mã PHP vào theme hoặc file functions.php để cấu hình SMTP thủ công. Tuy nhiên, cách này dễ xảy ra lỗi và không linh hoạt. Plugin SMTP là lựa chọn an toàn hơn cho đa số người dùng.

Kết luận

wordpress wp_mail authentication failed - Hình 1

Lỗi wordpress wp_mail authentication failed không phải là vấn đề quá phức tạp nếu bạn hiểu rõ nguyên nhân và làm theo quy trình từng bước. Điều quan trọng là kiểm tra thông tin xác thực SMTP, cổng kết nối, và sử dụng plugin SMTP phù hợp với dịch vụ email của bạn. Luôn kiểm tra với email test trước khi triển khai thực tế. Nếu vẫn không giải quyết được, hãy xem log lỗi chi tiết và liên hệ nhà cung cấp hosting hoặc dịch vụ SMTP để được hỗ trợ thêm.

Bài viết cùng chủ đề:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *