2011-09-28 141 views
0

我最近被我的老板要创造的东西......我觉得几乎是不可能的,无需人工干预autostorage电子邮件附件文件

的事情是,让我们的用户发送一个xml通过电子邮件的一些数据,但我老板就是了

  1. ,每当有新的电子邮件附件到达附加的文件被存储在特定文件夹的具体 服务器上
  2. 过程将验证是否有对电子邮件中的附件文件 和这是正确的,这意味着我ts xml结构是因为我们问了 它并且存储了所有的数据
  3. 某些xml文件数据存储在一个数据库(文件名,文件 path,main id)上,以便在小应用程序上搜索它这显示 XML数据,因此能够下载该文件

我的主要问题是副本,有这个过程,对cheking新接收邮件保存,检索附件,检查并保存它,我不知道它是否可能,还是从哪里开始。有一次,电子邮件服务器需要有一些可编程性的过程,但是,看起来像负责我们的邮件服务器的人不知道是否有类似的东西。

任何人都可以告诉我从哪里开始呢?

我建议我们对我们的主网页上上传选项,那还得了,但他们真正想要的电子邮件选项,所有的过程及其自动化

回答

0

有几个方法可以做到这一点。我首先看看通过IMAP或POP以编程方式检索电子邮件。这看起来像是你所涉及的摩擦最小的方法。负责电子邮件服务器的人员可以为您设置一个所有邮件都已转发到的帐户。

或者,你可以写的东西全部的邮件转发到另一台邮件服务器,并用它来管的电子邮件到一个脚本或将其转发到像cloudmailin.com服务(也可发送附件S3),使您可以编程方式获取消息。

一旦你有了信息,你就需要解析出附件并将其复制到你需要的文件夹中。

0

如果您在邮件服务器上有shell访问权限,则可以使用Procmail。它(或任何你在你的.forward或同等学历中获得的信息)将被触发,每个传入消息都将作为其标准输入。如果不是所有传入的消息都是有趣的,那么将Procmail作为包装器将是有意义的。无论如何,验证和分离传入附件的任务“仅仅是一个简单的编程问题”,但我希望这至少应该足以让你开始。

:0B 
* ^Content-type: application/x-perimental-xml or what have you 
| validate-and-store-and-extract-some-data-to-sql 

你当然可以使它比这更精细(而且很可能你会必须)但这个基本的配方不是很复杂。

......你的“几乎不可能”特征听起来像你在Windows上(哎呀,对不起,无法抗拒),但也许你的邮件服务器是Unix服务器。