WordPress không gửi được email? Cách khắc phục SMTP, DNS, form, WooCommerce và chuyển phát (2026)
Xử lý sự cố WordPress không gửi email với danh sách kiểm tra từng bước về SMTP, xác thực DNS, contact form, WooCommerce, đặt lại mật khẩu, nhật ký và khả năng chuyển phát.
Khi WordPress không gửi được email, lỗi có thể xảy ra ở bốn nơi: WordPress không bao giờ tạo ra thông điệp, một plugin chặn hoặc định tuyến sai, nhà cung cấp hosting từ chối gửi, hoặc nhà cung cấp hộp thư từ chối hay lọc email.
Cách khắc phục không phải là “thử một plugin contact form khác” trước tiên. Hãy bắt đầu bằng việc xác định email nào thất bại, rồi chuyển sang thiết lập người gửi đúng chuẩn với DNS đã xác thực và các bài kiểm thử lặp lại được.
Chẩn đoán nhanh
Dùng bảng này để khoanh vùng vấn đề trước khi thay đổi plugin.
| Triệu chứng | Nguyên nhân khả dĩ | Kiểm tra đầu tiên |
|---|---|---|
| Email đặt lại mật khẩu không bao giờ đến | Đường gửi của WordPress bị hỏng | Gửi email test từ plugin SMTP |
| Contact form báo đã gửi nhưng hộp thư trống | Vấn đề người nhận của form hoặc mailer | Kiểm tra cài đặt thông báo của form và nhật ký mail |
| Thiếu email đơn hàng WooCommerce | Template bị tắt, sai người nhận, hoặc vấn đề người gửi | Xem lại cài đặt email WooCommerce và đặt một đơn hàng thử |
| Email rơi vào spam | Xác thực yếu hoặc uy tín kém | Kiểm tra SPF, DKIM, DMARC, tên miền From và nội dung |
| Một số email gửi được nhưng số khác thất bại | Cài đặt thông báo riêng của từng plugin | Kiểm thử riêng từng loại plugin |
| Email cho admin hoạt động nhưng email cho khách hàng thất bại | Bộ lọc người nhận, template, hoặc danh sách chặn gửi | Kiểm tra nhật ký và trạng thái địa chỉ email của khách hàng |
Đừng dựa vào một bài test duy nhất. Hãy kiểm thử đặt lại mật khẩu, contact form, WooCommerce, thông báo cho admin và mọi plugin thành viên hay đặt lịch có gửi email.
Vì sao email WordPress thất bại
WordPress dùng wp_mail(), hàm này thường chuyển thông điệp cho chức năng mail của server trừ khi một plugin thay đổi tuyến gửi. Đường mặc định đó có thể thiếu tin cậy vì:
- Nhà cung cấp hosting có thể chặn hoặc tiết chế PHP mail.
- Thông điệp có thể không có xác thực gắn với tên miền gửi.
- IP của shared hosting có thể có uy tín kém.
- Địa chỉ From có thể không khớp với tên miền website.
- Lỗi có thể diễn ra âm thầm nếu không bật ghi nhật ký.
- Nhiều plugin có thể cùng ghi đè một hành vi email.
- Bản ghi DNS có thể thiếu hoặc không khớp.
Giải pháp dài hạn là gửi qua một mailer SMTP hoặc API chuyên dụng và xác minh tên miền.
Bước 1: Xác định loại lỗi
Tạo một ma trận kiểm thử ngắn:
| Bài test | Vì sao quan trọng |
|---|---|
| Đặt lại mật khẩu | Xác nhận email lõi của WordPress |
| Thông báo người dùng mới | Xác nhận email tài khoản và admin |
| Gửi contact form | Xác nhận thông báo của plugin form |
| Đơn hàng thử WooCommerce | Xác nhận email đơn hàng cho khách và cửa hàng |
| Đơn thất bại hoặc hoàn tiền | Xác nhận các template giao dịch ít gặp hơn |
| Email test của plugin SMTP | Xác nhận kết nối tới mailer |
Ghi lại mỗi thông điệp đã đến, bị thiếu, bị trễ, hay rơi vào spam. Kết quả này cho bạn biết vấn đề mang tính toàn cục hay chỉ giới hạn ở một plugin.
Bước 2: Cài mailer SMTP hoặc API
Dùng một plugin như WP Mail SMTP hoặc một mailer WordPress uy tín khác. Plugin cần cho phép định tuyến email WordPress qua một dịch vụ gửi như Brevo, SMTP.com, SendGrid, Mailgun, Gmail, Amazon SES, hoặc một nhà cung cấp khác hỗ trợ gửi có xác thực.
Thiết lập cơ bản:
- Cài plugin mailer.
- Chọn nhà cung cấp mà plugin hỗ trợ.
- Kết nối bằng khóa API, OAuth, hoặc thông tin đăng nhập SMTP.
- Đặt From Email dùng tên miền của bạn.
- Đặt From Name khớp với site hoặc thương hiệu.
- Chỉ bật tùy chọn ép buộc From sau khi xác nhận nó không làm hỏng các plugin khác.
- Gửi một email test.
Mailer API thường dễ theo dõi hơn thông tin đăng nhập SMTP thuần vì chúng cung cấp thông báo lỗi và nhật ký sự kiện rõ ràng hơn. SMTP vẫn hoạt động tốt khi cấu hình đúng.
Bước 3: Xác minh người gửi và xác thực DNS
Phần lớn vấn đề “email WordPress vào spam” quy về danh tính người gửi.
Kiểm tra:
- Tên miền From là chính tên miền hoặc tên miền phụ đã xác minh mà bạn kiểm soát.
- SPF bao gồm dịch vụ gửi email WordPress của bạn.
- DKIM đã bật cho dịch vụ gửi.
- DMARC tồn tại và khớp với thiết lập người gửi.
- Địa chỉ From không phải hộp thư miễn phí như Gmail hay Yahoo cho email doanh nghiệp.
- Địa chỉ reply-to có người theo dõi.
Sau khi thêm bản ghi DNS, chờ lan truyền rồi kiểm thử lại. Bảng điều khiển DNS trông đúng chưa phải là bằng chứng, cho đến khi email thật vượt qua xác thực trong header của hộp thư.
Bước 4: Khắc phục email contact form
Các plugin contact form thường có cài đặt thông báo riêng.
Danh sách kiểm tra:
- Xác nhận thông báo của form đã bật.
- Đảm bảo địa chỉ “To” chính xác.
- Dùng địa chỉ From trên tên miền của bạn, không dùng email của khách truy cập.
- Đặt email của khách truy cập vào Reply-To thay vào đó.
- Kiểm tra các trường bắt buộc và cài đặt chống spam.
- Tắt các thông báo trùng lặp trong khi kiểm thử.
- Kiểm thử với một địa chỉ email không phải admin.
Nếu test SMTP thành công nhưng email contact form thất bại, vấn đề thường nằm ở cấu hình form, không phải ở người gửi.
Bước 5: Khắc phục email WooCommerce
WooCommerce có template và người nhận riêng cho từng sự kiện.
Kiểm tra:
- Vào cài đặt email của WooCommerce và xác nhận từng email cần thiết đã bật.
- Xem lại trường người nhận của các email admin.
- Đặt một đơn hàng thử thật với một sản phẩm thử.
- Kiểm thử các trạng thái đơn: đang xử lý, hoàn tất, hoàn tiền và thất bại.
- Xác nhận cả email checkout của khách vãng lai và email tài khoản đều gửi được.
- Kiểm tra xem có plugin khác tùy biến template email WooCommerce không.
- Xem nhật ký để phát hiện phản hồi API hoặc SMTP thất bại.
Nếu khách hàng không nhận được email đơn hàng, hãy coi đây là vấn đề doanh thu và hỗ trợ. Khắc phục chuyển phát email giao dịch trước khi chạy các chiến dịch marketing.
Bước 6: Xử lý email vào spam
Việc rơi vào spam thường cần nhiều cải thiện cùng lúc, không có một cài đặt thần kỳ nào.
Bắt đầu từ đây:
- Xác thực tên miền với SPF, DKIM và DMARC.
- Dùng From name và địa chỉ From nhất quán.
- Tránh gửi khối lượng lớn từ một tên miền chưa từng qua giai đoạn làm nóng.
- Loại bỏ link hỏng, link rút gọn và tiêu đề gây hiểu lầm.
- Hạn chế đính kèm tệp trong các thông báo WordPress thường xuyên nếu có thể.
- Theo dõi tín hiệu bounce và khiếu nại trên nền tảng gửi.
- Tách email marketing khỏi email giao dịch của WordPress nếu khối lượng hoặc uy tín khác nhau.
Nếu email quan trọng với doanh thu, đừng bỏ qua các bài test spam sau lần vào hộp thư thành công đầu tiên. Kiểm thử lại sau mỗi lần thay đổi theme, plugin, hosting, DNS hoặc người gửi.
Bước 7: Kiểm tra xung đột plugin và quy định hosting
Nếu người gửi hoạt động nhưng WordPress vẫn thất bại thất thường, hãy cô lập xung đột.
Quy trình an toàn:
- Xác nhận bản sao lưu đã cập nhật.
- Tạm tắt các plugin liên quan đến mail khác.
- Chỉ giữ mailer SMTP hoặc API hoạt động.
- Kiểm thử email lõi của WordPress.
- Kiểm thử contact form.
- Kiểm thử WooCommerce.
- Bật lại từng plugin một.
Cũng cần kiểm tra hạn chế ở cấp hosting. Một số managed host chặn cổng SMTP đi ra hoặc yêu cầu dùng dịch vụ mail đã phê duyệt. Nếu thông tin đăng nhập SMTP thất bại nhưng gửi qua API hoạt động, hạn chế của hosting có thể là nguyên nhân.
Các mẫu lỗi và cách xử lý
| Lỗi hoặc hành vi | Việc cần làm |
|---|---|
| Xác thực thất bại | Tạo lại thông tin đăng nhập và xác nhận username, mật khẩu, khóa API hoặc kết nối OAuth |
| Kết nối hết thời gian chờ | Kiểm tra tường lửa của host, cổng SMTP, chế độ SSL/TLS, hoặc chuyển sang mailer API |
| Người gửi chưa xác minh | Xác minh tên miền From hoặc địa chỉ người gửi trong dịch vụ email |
| DKIM thất bại | Sao chép lại bản ghi DNS DKIM và chờ lan truyền |
| SPF thất bại | Thêm dịch vụ gửi vào SPF và tránh có nhiều bản ghi SPF |
| DMARC thất bại | Căn chỉnh tên miền From với SPF hoặc DKIM và xem lại chính sách |
| Form gửi cho admin nhưng không gửi cho người dùng | Kiểm tra template thông báo người dùng, trường merge và danh sách chặn gửi |
| Thiếu email admin của WooCommerce | Kiểm tra trạng thái bật của template và trường người nhận |
Theo dõi sau khi khắc phục
Email WordPress có thể hỏng lại sau này do cập nhật plugin, chỉnh sửa DNS, đổi tên miền hoặc đổi nhà cung cấp.
Theo dõi:
- Nhật ký lỗi SMTP hoặc API.
- Tỷ lệ bounce.
- Khiếu nại spam.
- Email WooCommerce thất bại.
- Lỗi thông báo của contact form.
- Ticket hỗ trợ về đặt lại mật khẩu.
- Báo cáo DMARC nếu bạn có xem chúng.
Đặt lịch kiểm thử định kỳ hằng tháng cho các site quan trọng. Với ecommerce, kiểm thử sau mỗi thay đổi lớn về WooCommerce hoặc checkout.
Danh sách QA trước khi kết luận
Trước khi tuyên bố vấn đề đã khắc phục xong:
- Email đặt lại mật khẩu đến hộp thư chính.
- Email người dùng mới đến nơi.
- Thông báo contact form cho admin đến nơi.
- Xác nhận cho khách truy cập của contact form đến nơi nếu có dùng.
- Email đơn hàng WooCommerce đến cả admin và khách hàng.
- Email hoàn tiền, đơn thất bại và đơn hoàn tất đều hoạt động.
- Tên miền gửi vượt qua SPF và DKIM.
- DMARC tồn tại.
- Các plugin mailer không dùng đã bị tắt.
- Nhật ký không cho thấy lỗi lặp lại.
- Đội hỗ trợ biết nơi kiểm tra nhật ký email.