Best rails solution for a mailer that runs every minute

前端 未结 4 922
有刺的猬
有刺的猬 2021-01-01 01:00

I have an application that checks a database every minute for any emails that are supposed to be sent out at that time. I was thinking about making this a rake task that wou

4条回答
  •  失恋的感觉
    2021-01-01 01:13

    It turns out there's actually something built just for this: ar_mailer. ar_mailer queues up the e-mails into the DB and then sends them out periodically using the ar_mailer command. You can call ar_mailer every minute.

    The nice thing about ar_mailer is that it basically requires very little change in terms of how you already send e-mails. You just need to inherit from ar_mailer instead of ActiveMailer. Using this method, you won't have to worry about running rake tasks in the background, forking processes, or anything like that - and in effect you get a real mail server with queued messages that are deleted when the mail is actually sent. This feature is important if you have a system that sends out large numbers of e-mail enmass. I've used ar_mailer to build a social network - so I can attest to its robustness.

    Here's a good article that talks about ar_mailer in depth. I would strongly advise against rolling your own solution here as Eric has built a time-tested solution to this very problem.

提交回复
热议问题