我想允许用户通过电子邮件将附件发送到我的应用,并将附件保存在他们的帐户中。每个用户都有一个唯一的私人电子邮件来发送文件。类似于Send to Dropbox的东西就是我想要的。
我一直在寻找一段时间,但找不到任何关于如何处理此问题的内容。我猜我在寻找错误的东西。我的最终问题是:进入这样一个功能的组件是什么?完成工作的最佳宝石是什么?
感谢。
答案 0 :(得分:0)
使用procmail或.forward
将收到的邮件通过管道传输到您的脚本中。该脚本以mbox格式STDIN
传入(与http:headers-blankline-body相同)。我不知道是否有宝石,你可以零手动解析它。
.forward
比procmail更容易:在使用sendmail的系统上,如果您有一个名为my_app
的帐户,请将~my_app/.forward
放入以下行:
|/foo/bar/my_app/process_mail.rb
它会将来自my_app@example.com
的所有邮件传输到/foo/bar/my_app/process_mail.rb
。分为标题和正文,将标题拆分为行,找到From
和Subject
标题,识别您的用户,按照其他方式执行您想要的操作。
On Rails,我怀疑你应该这样做:
|/usr/bin/env rails runner /foo/bar/my_app/process_mail.rb
或使用Bundler,
|/usr/bin/env bundle exec rails runner /foo/bar/my_app/process_mail.rb
因此,您可以获得脚本的Rails环境。
答案 1 :(得分:0)
以下是如何使用rails拦截电子邮件的详细说明:
http://steve.dynedge.co.uk/2010/09/07/incoming-email-in-rails-3-choosing-the-right-approach/