Xử lý email trên ứng dụng Rails
Em đang có bài toán xử lý email trong ứng dụng Rails như sau:
Ứng dụng sẽ tự động đọc các email được gửi đến email của mình và sau đó mình sẽ xử lý email đó.
Em đang vướng mắc không biết phải làm thế nào để nhận được các email đó trên ứng dụng của mình để xử lý.
Anh chị em nào đã làm chức năng nhận email trên Rails rồi thì cho em hướng giải quyết với ạ.
3 CÂU TRẢ LỜI
Để fetch email(gmail chẳng hạn) thì bạn thử dùng https://github.com/mailman/mailman xem http://codebeerstartups.com/2013/01/how-to-fetch-and-parse-emails-in-ruby-on-rails/ Tự động listen mail thì có thể dùng rake task chạy background
Theo mình hiểu thì email sẽ không được gửi từ hệ thống đúng không. Ví dụ một người X gửi mail vào email của bạn và bạn muốn hệ thống handle và nhận được email đó?
- Email của bạn là email của mail server bạn không có quyền kiểm soát kiểm soát (gmail, yahoo chẳng hạn). Trường hợp này thì bạn nghiên cứu gmail API hay các API mà họ cung cấp để cài đặt các webhook để khi có email đến sẽ có request tự động gửi đến controller trên Rails cho bạn.
- Email của bạn là email của mail server bạn có quyền kiểm soát thì tìm các set webhook đến Rails server để handle mỗi khi có mail đến là được.
P.S. Nếu mail là do chính ứng dụng của bạn gửi và bạn muốn mỗi khi mail đến nơi thì server rails sẽ thực hiện 1 số xử lý thì còn dễ hơn. Vì các dịch vụ gửi mail như Sendgrid hay Mandrill đều support webhook đến tận răng rồi