使用Ruby解析电子邮件的最佳实践

时间:2009-08-08 22:19:00

标签: ruby email parsing

Hello Ruby / Rails / Merb开发人员!

我目前正在开发一个网络项目,该项目将具有通过电子邮件与客户进行通信的功能。所以,假设我说我在管理员面板中为客户创建了帐户,然后创建了一个主题/主题来讨论问题,任务和其他与工作相关的内容。因此,客户将收到电子邮件通知。客户也可以登录系统并在系统内写入响应。但是我想要做的是:在客户响应通知(其中包含消息的特殊标识代码)之后,我需要将该响应导入到线程中。它使客户之间的通信非常方便。

此外,解决方案也需要使用文件附件进行操作。

我现在唯一能做到这一点的方法是开发特殊的邮件检查守护程序,它将从通知帐户中获取邮件并自动将数据添加到中央数据库。可能,这不是一个好主意。

我在37signals` BaseCamp软件中看到了这样的例子。

问题:最佳做法是什么?

3 个答案:

答案 0 :(得分:1)

另一种需要注意的方法是将来自别名文件的MTA(postfix,sendmail)中的电子邮件直接传输到您编写的程序中,以处理邮件并将其放入您的应用程序中。

/etc/aliases:
your-application-email: /path/to/your/email/receiving/script

Mailman邮件列表管理器使用此方法。缺点是它需要访问系统的邮件配置。可能不是您的申请范围的问题。

答案 1 :(得分:1)

我相信你自己的解决方案,邮件提取脚本,是最好的解决方法。如果您的应用程序出现故障,管道或以其他方式直接从ruby接收邮件可能会导致丢失消息。让邮件服务器执行繁重的工作并偶尔轮询它。

Ruby在标准库中提供Net::IMAP支持。

答案 2 :(得分:0)

(不完整的回答......对不起) 我们的团队使用Redmine的电子邮件监控功能,非常有效。它似乎实现了上面提到的所有内容,除了附件。

你可以借用很少的调整来借用这个功能: - )

redmine.org