我正在为多用户系统制作电子邮件投票解决方案。因此,用户可以在各自的ID上发送电子邮件,并将其轮询并插入数据库。
我正在考虑两个选项:
你会推荐什么..(也欢迎其他建议)
答案 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