编写电子邮件轮询器的最佳方法

时间:2008-12-01 15:39:54

标签: email poller

我正在为多用户系统制作电子邮件投票解决方案。因此,用户可以在各自的ID上发送电子邮件,并将其轮询并插入数据库。

我正在考虑两个选项:

  1. 基于Perl / Unix的电子邮件投票程序..
  2. 基于java的轮询器。
  3. 你会推荐什么..(也欢迎其他建议)

5 个答案:

答案 0 :(得分:1)

为什么不将邮件转发给流程,而不是轮询?根据您使用的邮件服务器,您可以将其作为别名甚至是.forward文件。

答案 1 :(得分:0)

我没有什么可补充的,但目前谷歌代码中的一个项目将iwantsandy.com重建为开源。

它在:
http://code.google.com/p/sandysback/

我肯定会看到这个,看看他们如何解析电子邮件,并将这些电子邮件“插入数据库”

答案 2 :(得分:0)

您最有经验的语言!

我个人非常了解java和perl,为了完成这项任务,我会选择perl,但不同之处是边缘的。

Perl会更短更甜,java需要更长的时间,但一旦数据库访问被整理出来,它可能是一个更强大的解决方案。

我发现Perl DBI是一个比JDBC更好,更便携的数据库接口,它不会隐藏代码中的数据库实现,并且对版本更改等敏感。您必须为目标数据库提供正确版本的正确数据库驱动程序。

答案 3 :(得分:0)

RE:Poling

如果您可以选择将电子邮件转发到某个流程,我强烈建议您这样做。 (转发通常会减少服务器上的负载而不是poling。)如果没有,那么poling是下一个最好的事情。使用您最熟悉的语言查看POP3客户端库。

RE:语言选择

如果我打算对电子邮件进行大量解析,那么Perl将是我的选择。如果涉及的解析不多,那么Java就是我的选择; - )。

- 在以前的生活中,我编写了一个Perl脚本,用于将传入的电子邮件解析(结构良好)到HTML页面并将它们发布到Web服务器。

答案 4 :(得分:0)

你有几个选择。正如原始海报所说 - 可能最简单的方法是在别名文件中为脚本设置一个条目。

然后,电子邮件的正文作为标准输入传递给脚本。然后,您可以使用perl脚本+ Mime模块来解析消息的各个部分,并随意执行任何操作。

还可以看一下apache james - 这是一个自定义邮件服务器。它们具有相同的servlet,称为“maillet”,您可以将业务逻辑放入其中。虽然大多数公司不喜欢部署自定义邮件服务器,但它们通常很难部署在企业方案中。

...别名路线可能是你最好的选择。另外一点需要注意 - 电子邮件不是保证书。如果您将此作为应用程序消息传递系统的某种应用程序使用,并且您可以控制两端,则应该查看其他内容,例如JMS类型消息传递。

-Ace