我们希望实现一项功能,用户可以通过该功能向特定于应用程序的地址发送电子邮件,我们将解析该邮件并对其采取某些操作,类似于37signals的背包(可能还有其他一些应用程序)。 / p>
如果有人做过类似的事情,你能否告诉我你是怎么做的?我不确定如何在高级别“将”电子邮件“导入”应用程序,以便我可以处理它。
谢谢。
答案 0 :(得分:1)
以下是我从POP服务器获取的方式:
require 'net/pop'
pop = Net::POP3.new('mail.yourdomain.com')
pop.start(account, password)
pop.each_mail do |m|
email = TMail::Mail.parse(m.pop)
email.base64_decode
OttoMailer.process_email_in(email, m.unique_id)
m.delete
end
pop.finish
答案 1 :(得分:1)
我最近在rails中实现了这个确切的功能。我建议您查看Advanced Rails Recipes book中的“通过POP或IMAP可靠地接收电子邮件”。
我个人发现这是启动和运行的最佳来源,它解释了如何做得更好。你选择这样做的好运:)
答案 2 :(得分:0)
为什么不运行Ruby SMTP mailserver,它将通过端口25接收邮件,然后您可以根据需要解析/解释等等?
(我说Ruby,因为这是你标记问题的方式)
另一种解决方案是运行procmail(或类似),主题上的模式匹配,然后调用脚本(在.procmailrc
文件中配置)。但是,对于大量邮件而言,这可能无法很好地扩展。
答案 3 :(得分:0)
ActionMailer
can receive e-mails以及发送给他们!我不记得这是怎么做的,但如果你看一下文档就可以看到它。但是从内存中,电子邮件通过procmail传输到脚本目录中的脚本。