PDA

View Full Version : Làm thế nào để gửi email thông báo mà không bị chậm load website ?



khigiadano
05-08-2016, 15:23
Chào mọi người, mình đang bị vấn đề như thế này.
Web mình có 1 form liên hệ, khách truy cập điền thông tin và bấm nút thì nội dung sẽ được gửi đến email để mình biết.
Vấn đề ở đây là trong khi chờ gửi email thành công rồi báo về thì web sẽ load khá lâu: ~5-10s. Khi ấy sẽ gây khó chịu cho khách truy cập. Làm thế nào để giải quyết được vấn đề này? Vì nếu chỉ lưu thông tin vào database thì xử lý nhanh, còn gửi email SMTP thì load lâu quá.

alphavn
16-08-2016, 10:38
Có nhiều cách nhưng cơ bản thì sẽ dựng hệ thống xử lý gửi email thông báo như sau:
1. Tiến trình lấy email cần gửi từ trong hàng đợi - Queue (ở đây có thể dùng message queue hoặc active MQ, rabbit MQ hoặc lưu và trong db): Sau khi tiến trình lấy được nội dung email cần gửi thì khởi tạo kết nối đến smtp server và thực hiện thủ tục gửi các bản tin sang smtp server (tham khảo source code từ google với đủ các loại ngôn ngữ, và thư viện khác nhau)
2. Ứng dụng đẩy email cần gửi vào queue

dangbinh876
22-09-2016, 09:06
Có thể sử dụng bất động bộ để gọi hàm gửi ...

ngonlinh
12-10-2016, 13:48
Nếu muốn sử dụng nhanh gọn thì dùng dll bên thứ 3 tìm hangfire .io nha bạn!