Lỗi WordPress email đổi mật khẩu không gửi khiến người dùng bất lực và làm gián đoạn trải nghiệm quản trị website. Đây là một trong những sự cố phổ biến nhất mà chủ website gặp phải, đặc biệt khi khách hàng hoặc thành viên không thể đặt lại mật khẩu để truy cập tài khoản. Nếu không xử lý kịp thời,

WordPress sử dụng hàm wp_mail() dựa trên thư viện PHPMailer để gửi email. Khi người dùng yêu cầu đổi mật khẩu, hệ thống sẽ kích hoạt một email chứa link xác nhận. Email này được gửi qua máy chủ hosting, thường sử dụng giao thức SMTP hoặc hàm mail() của PHP. Tuy nhiên, nhiều nhà cung cấp hosting chặn hàm mail() vì lý do bảo mật hoặc giới hạn tài nguyên, dẫn đến WordPress email đổi mật khẩu không gửi được.
Để hiểu rõ hơn, hãy hình dung quy trình này như một chuỗi các bước: Người dùng nhấn “Quên mật khẩu” → WordPress tạo token → Hàm wp_mail() gửi request đến server → Server xử lý và gửi email qua SMTP hoặc mail() → Email đến hộp thư người nhận. Nếu bất kỳ bước nào bị đứt gãy, bạn sẽ gặp lỗi WordPress email đổi mật khẩu không gửi.
4 Nguyên Nhân Chính Khiến WordPress Email Đổi Mật Khẩu Không Gửi

Dựa trên kinh nghiệm 15 năm làm việc với WordPress, tôi nhận thấy 90% trường hợp lỗi này đến từ 4 nguyên nhân sau đây. Mỗi nguyên nhân đều có cách nhận diện và khắc phục riêng.
1. Cấu Hình SMTP Chưa Được Thiết Lập Hoặc Sai Thông Số
Hầu hết các hosting không hỗ trợ hàm mail() của PHP. Thay vào đó, bạn cần cấu hình SMTP (Simple Mail Transfer Protocol) để gửi email qua Gmail, SendGrid, Mailgun hoặc dịch vụ của nhà cung cấp. Nếu thông tin SMTP sai (port, host, tài khoản, mật khẩu), WordPress email đổi mật khẩu không gửi là điều tất yếu.
2. Plugin Xung Đột Với Hàm Gửi Mail
Các plugin bảo mật, tối ưu hóa hoặc tạo form liên hệ đôi khi can thiệp vào quá trình gửi email. Chẳng hạn, plugin Wordfence có thể chặn email nếu phát hiện hành vi bất thường. Hoặc plugin WP Mail SMTP đôi khi tạo xung đột với các plugin khác cùng chức năng.
3. Hosting Chặn Cổng Kết Nối Hoặc Giới Hạn Số Lượng Email
Nhiều nhà cung cấp hosting giá rẻ chặn cổng 25, 465, 587 để ngăn spam. Họ cũng giới hạn số email có thể gửi mỗi giờ (ví dụ: 100 email/giờ). Khi người dùng yêu cầu đổi mật khẩu, nếu vượt ngưỡng, WordPress email đổi mật khẩu không gửi sẽ xảy ra.
4. Lỗi Hệ Thống Cron Job Hoặc Database
WordPress sử dụng cron job để lập lịch gửi email. Nếu cron job bị tắt hoặc database có lỗi, email sẽ không được kích hoạt đúng thời điểm. Ngoài ra, bảng wp_options bị phình to do quá nhiều transient cũng ảnh hưởng đến hiệu suất gửi mail.
Hướng Dẫn Chi Tiết Cách Kiểm Tra Và Khắc Phục WordPress Email Đổi Mật Khẩu Không Gửi

Hãy làm theo từng bước, kiểm tra kết quả trước khi chuyển sang bước tiếp theo.
Bước 1: Kiểm Tra Xem Email Có Bị Đánh Dấu Spam Không
Trước khi can thiệp kỹ thuật, hãy kiểm tra hộp thư spam. Nhiều email từ WordPress bị các dịch vụ như Gmail, Outlook đẩy vào thư rác vì thiếu xác thực SPF hoặc DKIM. Nếu bạn tìm thấy email ở đó, hãy đánh dấu “Không phải spam” và thêm địa chỉ gửi vào danh sách trắng.
Bước 2: Cài Đặt Plugin WP Mail SMTP
Đây là giải pháp phổ biến nhất để khắc phục WordPress email đổi mật khẩu không gửi. Plugin này cho phép bạn dễ dàng cấu hình SMTP qua Gmail, SendGrid, Mailgun, SMTP.com… Các bước thực hiện:
- Cài đặt và kích hoạt plugin WP Mail SMTP từ kho plugin WordPress.
- Vào Settings → WP Mail SMTP và chọn mailer phù hợp (khuyên dùng SendGrid hoặc Gmail SMTP).
- Nhập thông tin SMTP: host, port, tài khoản, mật khẩu, bật SSL/TLS.
- Gửi email kiểm tra từ plugin. Nếu thành công, lỗi sẽ được giải quyết ngay lập tức.
Bước 3: Kiểm Tra Log Lỗi Từ Plugin Hoặc Server
Nếu plugin WP Mail SMTP báo lỗi, hãy xem log để biết nguyên nhân cụ thể. Vào WP Mail SMTP → Tools → Debug Events để xem chi tiết. Các lỗi thường gặp bao gồm “Could not connect to SMTP host”, “SMTP connect() failed”, “Authentication failed”. Từ đó
Nguyên nhân có thể do thông tin SMTP sai, cổng bị chặn, hoặc plugin xung đột. Hãy kiểm tra log lỗi trong plugin, đảm bảo
Không bắt buộc.
Gián tiếp. Nếu email đổi mật khẩu không gửi, người dùng không thể lấy lại tài khoản khi bị hack. Ngoài ra, bạn cũng không nhận được thông báo về các hoạt động đăng nhập bất thường. Do đó, việc khắc phục lỗi này giúp tăng cường bảo mật tổng thể.
Làm sao để biết hosting của tôi có chặn hàm mail() hay không?
Liên hệ trực tiếp với nhà cung cấp hosting hoặc xem trong tài liệu hỗ trợ. Một số hosting như Hostinger, Bluehost cho phép bạn kiểm tra qua file phpinfo(). Tạo file test.php với nội dung <?php phpinfo();?> và tìm dòng “sendmail_from” hoặc “SMTP” để biết trạng thái.
Kết Luận

Lỗi WordPress email đổi mật khẩu không gửi không phải là vấn đề quá phức tạp nếu bạn hiểu rõ nguyên nhân và áp dụng đúng quy trình khắc phục. Từ việc kiểm tra hộp thư spam, cài plugin WP Mail SMTP, cho đến kiểm tra cron job và hosting, mỗi bước đều có thể giải quyết dứt điểm tình trạng này. Hãy bắt đầu ngay hôm nay để đảm bảo người dùng của bạn luôn có thể lấy lại mật khẩu một cách dễ dàng. Nếu bạn gặp khó khăn trong quá trình thực hiện, đừng ngần ngại chia sẻ chi tiết lỗi – cộng đồng WordPress luôn sẵn sàng hỗ trợ.
- WordPress email sau restore backup bị lỗi: Nguyên nhân và giải pháp toàn diện
- WordPress Database Crash: Nguyên Nhân, Dấu Hiệu Và Cách Khắc Phục Toàn Diện
- Hướng dẫn toàn diện về Async JavaScript trong WordPress: Tối ưu tốc độ và hiệu suất website
- WordPress Site Editor Là Gì? Hướng Dẫn Toàn Diện Từ A-Z Cho Người Mới Bắt Đầu
- Elementor Form Submit Lỗi: Nguyên Nhân Và Cách Khắc Phục Triệt Để














