2

我正在为多用户系统开发电子邮件轮询解决方案。所以用户可以在他们各自的 id 上发送电子邮件,它会被轮询并插入到数据库中。

我正在考虑两种选择:

  1. 基于 Perl/Unix 的电子邮件轮询器..
  2. 基于 java 的轮询器。

你会推荐什么..(也欢迎其他建议)

4

5 回答 5

1

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

于 2008-12-01T15:46:35.960 回答
0

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

它位于:
http ://code.google.com/p/sandysback/

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

于 2008-12-01T15:48:28.250 回答
0

无论您使用哪种语言最有经验!

我个人非常了解 java 和 perl,对于这项任务,我会选择 perl,但差异是微不足道的。

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

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

于 2008-12-01T15:52:12.643 回答
0

回复:投票

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

回复:语言选择

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

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

于 2008-12-01T16:18:10.530 回答
0

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

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

还可以查看 apache james - 这是一个自定义邮件服务器。它们具有 servlet 的等价物,称为“maillets”,您可以将业务逻辑放入其中。它们通常难以在企业场景中部署,因为大多数公司不喜欢部署自定义邮件服务器。

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

-高手

于 2010-01-09T19:45:51.210 回答