繁体   English   中英

我的ruby应用程序如何接收和解析带有附件的电子邮件?

[英]How can my ruby app receive and parse emails with attachments?

我想允许用户通过电子邮件将附件发送到我的应用,并将附件保存在他们的帐户中。 每个用户都有一个唯一的私人电子邮件来发送文件。 我想要的是类似于发送到Dropbox的东西。

我已经搜索了一段时间,但找不到有关如何解决此问题的任何信息。 我猜我在搜索错误的内容。 我的最终问题是:像这样的功能中包含哪些组件?完成这项工作的最佳方法是什么?

谢谢。

使用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 分为标题和正文,将标题拆分为行,找到FromSubject标题,标识您的用户,其余部分做您想做的事情。

在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环境。

以下是有关如何使用Rails拦截电子邮件的详细说明:

http://steve.dynedge.co.uk/2010/09/07/incoming-email-in-rails-3-choosing-the-right-approach/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM