Hi mọi người, hôm trước mình có hỏi về việc tăng tốc gửi mail trong WP, cũng được một số bạn hỗ trợ nay mình tìm được solution nên muốn chia sẻ lại cho các bạn. Vì mình cực kì quan trọng UX nên việc để KH phải chờ rất là tệ!!
Đầu tiên mình xin đính chính là việc gửi mail mình nói tới chỉ tính thời gian server xử lý việc gửi mail thôi, không tính gộp thời gian user nhận được email.
Khi gửi mail, server phải authenticate với smtp server nên yêu cầu gửi mail trong 1s là rất khó thực hiện nhưng đẩy mail vào queue và xử lý sau thì hoàn toàn có thể. Mình sử dụng một plugin tên là smtp-mailing-queue (https://github.com/hildende/smtp-mailing-queue) code khá cũ (but it’s work!). Các bạn chỉ cần cấu hình smtp account trong phần settings của plugin là ok. Có 2 options để lựa chọn 1 là sử dụng WP_CRON hoặc CRON JOB của linux các bạn có thể đọc thêm về WP_CRON trên trang của wordpress.
Mình test trên 1 case khi đặt hàng sử dụng woocommerce, khi chưa sử dụng queue thì mình tốn đâu đó 5-6s từ khi bấm đặt hàng cho đến khi đơn hàng được tạo. Khi sử dụng queue thì mình chỉ tốn 2s để tạo đơn hàng (đương nhiên là mail sau 5-10s thì mới tới)
Note là Mình đang deploy web trên con digital ocean (1GB, 1vCPU)
Hy vọng tip nhỏ của mình sẽ giúp các bạn cải thiện được UX cho website của bác bạn.