Email queue trong WordPress là cơ chế lưu trữ email tạm thời trước khi gửi đi, giúp giảm tải cho server và tránh bị spam. Tuy nhiên, nhiều admin gặp tình trạng wordpress email queue bị kẹt, khiến hàng trăm email không thể gửi đến người dùng. Hàng loạt email xác nhận đơn hàng, thông báo mật khẩu hay form liên hệ đều nằm im trong hàng đợi. Nếu không xử lý kịp thời, website sẽ mất uy tín và doanh thu giảm sút. Bài viết này phân tích chi tiết nguyên nhân và hướng dẫn bạn khắc phục triệt để vấn đề email queue bị kẹt trên WordPress.
Hiểu Đúng Về WordPress Email Queue

Email queue (hàng đợi email) là một tính năng phổ biến trong các plugin SMTP hoặc email marketing dành cho WordPress. Thay vì gửi ngay lập tức, hệ thống đưa email vào hàng chờ và xử lý theo lịch trình. Cơ chế này giúp kiểm soát tốc độ gửi, tránh bị blacklist bởi các nhà cung cấp dịch vụ email như Gmail, Outlook.
Khi hàng đợi bị kẹt, email không được gửi dù đã đến thời gian xử lý. Người dùng không nhận được thông báo quan trọng, hệ thống báo lỗi và bạn phải can thiệp thủ công. Đây là vấn đề phổ biến với các site có lưu lượng email lớn hoặc cấu hình server không phù hợp.
Trên thực tế, theo thống kê từ nhiều diễn đàn WordPress, có khoảng 30% admin từng gặp lỗi email queue bị kẹt ít nhất một lần trong quá trình vận hành site. Nguyên nhân thường đến từ việc xung đột plugin, giới hạn tài nguyên server hoặc cấu hình CRON sai.
Nguyên Nhân Khiến WordPress Email Queue Bị Kẹt
Xung Đột Plugin Email Queue
Nhiều plugin quản lý email queue cùng lúc có thể gây xung đột. Ví dụ, bạn cài cả WP Mail SMTP và Post SMTP, cả hai đều cố gắng kiểm soát hàng đợi. Kết quả là email bị giữ lại vì mỗi plugin chờ plugin kia xử lý. Hãy chỉ giữ một plugin email queue duy nhất và vô hiệu hóa các plugin còn lại.
Cấu Hình WP-CRON Không Chính Xác
WordPress sử dụng WP-CRON để kích hoạt các tác vụ định kỳ, bao gồm gửi email từ hàng đợi. Nếu WP-CRON không chạy đúng lịch, email sẽ bị kẹt vô thời hạn. Nguyên nhân thường gặp là server không cho phép truy cập vào file wp-cron.php hoặc site có lượng truy cập thấp không kích hoạt cron tự động.
Giới Hạn Tài Nguyên Server
Hosting giá rẻ thường giới hạn bộ nhớ PHP, thời gian thực thi tối đa hoặc số lượng email có thể gửi mỗi giờ. Khi email queue vượt quá ngưỡng này, quá trình gửi bị dừng lại. Bạn cần kiểm tra error_log của server để phát hiện lỗi memory exhausted hoặc execution time exceeded.
Lỗi Xác Thực SMTP
Plugin SMTP yêu cầu thông tin xác thực chính xác từ nhà cung cấp dịch vụ email. Nếu mật khẩu thay đổi, token hết hạn hoặc cổng kết nối bị chặn (port 465, 587), email queue sẽ không thể gửi đi. Hầu hết plugin đều có tính năng kiểm tra kết nối SMTP – hãy sử dụng nó để xác định lỗi.
Cơ Sở Dữ Liệu Quá Tải
Bảng wp_options lưu trữ dữ liệu email queue. Nếu bảng này có hàng nghìn bản ghi lỗi thời hoặc bị phân mảnh, truy vấn xử lý queue sẽ chậm và dẫn đến kẹt. Cần dọn dẹp transient, revision và spam comment thường xuyên.
Cách Kiểm Tra WordPress Email Queue Có Bị Kẹt Hay Không

Trước khi bắt đầu khắc phục, bạn cần xác nhận email queue thực sự bị kẹt. Có ba dấu hiệu chính:
- Số email trong queue không giảm sau vài giờ dù đã cài đặt gửi định kỳ.
- Plugin email queue hiển thị thông báo lỗi như “queue processing failed” hoặc “database error”.
- Người dùng liên hệ báo không nhận được email xác nhận, thông báo từ website.
- Cài nhiều plugin queue cùng lúc: Tin rằng có thể phối hợp, nhưng thực tế chúng xung đột và làm kẹt nặng hơn.
- Không kiểm tra cron: Chỉ tập trung vào SMTP mà quên rằng queue chỉ xử lý khi cron chạy.
- Để queue quá lớn: Email queue lên đến hàng nghìn bản ghi sẽ làm chậm database và dẫn đến lỗi. Nên xử lý ngay khi queue vượt quá 100 email.
- Dùng hosting kém: Hosting giá rẻ thường chặn cổng SMTP hoặc giới hạn email mỗi giờ. Nên nâng cấp hosting hoặc dùng dịch vụ gửi email chuyên nghiệp.
Để kiểm tra chính xác, truy cập vào plugin quản lý queue (ví dụ Post SMTP, WP Mail SMTP Pro) và xem mục “Email Log” hoặc “Queue”. Tại đây, doing_wp_cron
Cách này đảm bảo email queue được xử lý đều đặn bất kể lưu lượng truy cập.
Bước 5: Tăng Giới Hạn Tài Nguyên PHP
Vào file wp-config.php, thêm các dòng sau để tăng bộ nhớ và thời gian thực thi:
define(‘WP_MEMORY_LIMIT’, ‘512M’);
define(‘WP_MAX_EXECUTION_TIME’, 300);
Nếu có quyền truy cập php.ini, hãy tăng memory_limit lên 512M, max_execution_time lên 300, max_input_time lên 300. Điều này giúp xử lý queue lớn không bị timeout.
So Sánh Các Plugin Xử Lý Email Queue Thông Dụng
| Plugin | Tính năng queue | Xử lý lỗi | Hỗ trợ CRON | Đánh giá |
|---|---|---|---|---|
| WP Mail SMTP (Pro) | Có, tích hợp sẵn queue | Tự động retry 3 lần | Có | 4.8/5 |
| Post SMTP | Có, queue riêng biệt | Hiển thị lỗi chi tiết | Có | 4.6/5 |
| Easy WP SMTP | Không có queue mặc định | Phải nhờ plugin thứ ba | Không | 4.2/5 |
| FluentSMTP | Có, queue đơn giản | Thông báo webhook | Có | 4.7/5 |
Dựa trên bảng so sánh, WP Mail SMTP Pro là lựa chọn tối ưu cho các site cần quản lý email queue chuyên nghiệp. Plugin này tự động retry email bị lỗi và tích hợp queue trực tiếp mà không cần plugin bổ sung.
Sai Lầm Thường Gặp Khi Xử Lý Email Queue Bị Kẹt
Lưu Ý Quan Trọng Khi Quản Lý Email Queue WordPress
Luôn backup database trước khi can thiệp vào queue, vì việc xóa queue có thể mất dữ liệu quan trọng. Nếu site của bạn gửi nhiều email (trên 500 email/ngày), hãy cân nhắc tích hợp API gửi email từ các bên thứ ba như SendGrid, Mailgun thay vì dùng SMTP thông thường. API nhanh hơn, ít bị kẹt queue hơn.
Đối với các trang thương mại điện tử, đừng quên kiểm tra email queue hàng ngày. Một email xác nhận đơn hàng bị kẹt có thể khiến khách hàng hủy đơn. Hãy thiết lập cảnh báo qua Slack hoặc Telegram mỗi khi queue vượt ngưỡng.
Câu Hỏi Thường Gặp Về WordPress Email Queue Bị Kẹt
Tại sao email queue của tôi bị kẹt dù đã test SMTP thành công?
Test SMTP chỉ kiểm tra kết nối giữa website và server email. Queue bị kẹt thường do cron không chạy hoặc database quá tải. Hãy kiểm tra WP-CRON và dọn dẹp bảng wp_options.
Làm thế nào để xóa toàn bộ email queue trong WordPress?
Vào plugin Email Log hoặc phần quản lý queue, chọn tất cả email (thường có checkbox “Select All”), sau đó chọn “Delete” hoặc “Clear”. Nếu không có plugin,
WP Mail SMTP Pro và Post SMTP là hai plugin hàng đầu. WP Mail SMTP Pro thân thiện hơn với người mới, trong khi Post SMTP cung cấp log chi tiết cho chuyên gia.
Có cách nào tự động retry email bị kẹt không?
Có. Hầu hết plugin queue đều có tính năng retry tự động. Trong WP Mail SMTP Pro, bạn vào Settings > Email Queue, bật “Retry failed emails” và đặt số lần retry (thường 3 lần).
Kết Luận
WordPress email queue bị kẹt là vấn đề phổ biến nhưng hoàn toàn có thể giải quyết nếu bạn hiểu rõ nguyên nhân. Hãy bắt đầu bằng việc kiểm tra WP-CRON, sau đó tối ưu cấu hình SMTP và chỉ sử dụng một plugin queue duy nhất. Đừng quên tăng tài nguyên server nếu queue thường xuyên quá tải. Với các bước hướng dẫn chi tiết ở trên, bạn đã có thể khắc phục triệt để và ngăn chặn tình trạng email queue bị kẹt trong tương lai.
Quản lý email queue tốt không chỉ giúp hệ thống hoạt động trơn tru mà còn giữ uy tín thương hiệu trong mắt khách hàng. Nếu sau khi thực hiện tất cả các bước mà queue vẫn kẹt, hãy cân nhắc liên hệ với nhà cung cấp hosting để kiểm tra giới hạn tài nguyên cấp độ server.
- Theme Style Elementor: Bí Quyết Tối Ưu Giao Diện Website Chuyên Nghiệp
- Cách khắc phục lỗi Elementor Text Alignment – Hướng dẫn chi tiết từ A đến Z
- WordPress Audio Embed Lỗi: Nguyên Nhân và Cách Khắc Phục Toàn Diện 2025
- Metadata WordPress Là Gì? Hướng Dẫn Toàn Diện Từ A-Z Cho Người Mới Bắt Đầu
- Hướng dẫn chi tiết cách truy cập trang quản trị WordPress nhanh chóng và an toàn













