对于我的side project kwiqi,我使用ActionMailer的“接收”方法处理传入的电子邮件以跟踪我的费用。 Heroku没有运行本地邮件服务器,相同的代码将无法正常工作。我想到的一个解决方案是定期点击一个控制器动作,从Gmail中提取消息。还有其他合理的解决方案吗?是否有人在Heroku处理传入的电子邮件?
答案 0 :(得分:12)
您可以使用sendgrid插件及其解析api(http://wiki.sendgrid.com/doku.php?id=parse_api)。我在这里写了一篇关于如何做的简短教程:http://nanceskitchen.com/2010/02/21/accept-incoming-emails-into-a-heroku-app-using-sendgrid/
答案 1 :(得分:7)
我知道这有点晚了但是对于其他可能在将来发现这个有用的人我们为Heroku创建了http:///CloudMailin.com插件,它可以帮助您轻松地在Heroku Rails应用上接收电子邮件。
答案 2 :(得分:4)
Heroku支持使用DelayedJob运行工作人员。工作人员的资源就像Dynos(您按小时付费),为此您将获得专门的资源来处理您的电子邮件。
过去我曾使用Cron在我的应用程序中调用控制器。它非常有效。
如果每小时限制是一个问题,您可以从其他位置调用您的应用程序...我有一个廉价的Dreamhost帐户用于我用作Cron系统的一些非优先级站点。
还可以使用许多ping和正常运行时间服务来实现此目的......只需将这些服务传递给您的电子邮件控制器即可。
答案 3 :(得分:2)
Heroku目前的一个真正局限是,他们支持cron工作的最快频率是每小时一次。
我建议使用Gmail并使用延迟作业替代cron来设置更合理的频率。有一个很好的教程可以在WiseJive
进行设置