2010-10-04 523 views

回答

0

我不知道最好的,但一个简单的方法是使用Net::IMAP。您可以编写rake任务,并通过使用调度程序cron定期轮询邮箱中的电子邮件。

所以你的设置是这样的:

  1. 库文件,该文件服务器作为IMAP客户的包装及其他相关操作,如处理电子邮件。
  2. rake任务,要求在电子邮件下载和使用上述包装处理它们。
  3. 调度(cron或任何其他的选择。我个人总是喜欢cron)的定期调用此rake任务。
0

ActionMailer的文档的解决办法是让电子邮件转发到您的Rails应用程序,并实现UserMailer.receive(STDIN.read)来处理电子邮件。

文档(Action Mailer Basics)不健全,对这种做法非常有说服力。它没有告诉应该在哪里实施呼叫,但我想这将在MTA级别。

+0

此外,虽然我是新来的'的Ruby on Rails'和'Ruby',我不知道什么是使用'Rails'相比香草'Ruby'作为的好处。 – 2011-03-15 10:38:19

+0

另一个想法,并不是我期待大量的,但我不喜欢为每封电子邮件调用程序的想法。我将使用'Net :: IMAP'实现一个'Ruby'应用程序来监听新电子邮件(并且不必为每个电子邮件连接到数据库)。 – 2011-03-15 10:41:16