【问题标题】:autostorage email attachment file自动存储电子邮件附件文件
【发布时间】:2011-11-27 02:52:41
【问题描述】:

最近我的老板要求我创造……如果没有人工干预,我发现这几乎是不可能的

问题是,让我们的用户通过电子邮件发送包含一些数据的 xml,但我的老板想要它

  1. 将附件存储在特定文件夹上的特定文件夹中 每当收到带有附件的新电子邮件时的服务器
  2. 该过程将验证电子邮件中是否有附件 这是正确的,这意味着它的 xml 结构正如我们所要求的那样 它并存储了所有数据
  3. 某些 xml 文件数据存储在数据库中(文件名、文件 path, main id) 以便在显示的小应用程序上搜索它 xml 数据,因此能够下载文件的副本

我的主要问题是,让这个过程不断检查新收到的邮件、检索附件、检查并存储它,我不知道它是否可能,或者从哪里开始。有一次,电子邮件服务器需要有某种可编程性过程,但看起来我们的邮件服务器的负责人并不知道是否有类似的东西。

谁能告诉我从哪里开始?

我建议我们在主网页上有一个上传选项,我们会拥有它,但他们真的想要电子邮件选项,并且所有过程都是自动化的

【问题讨论】:

    标签: xml file email attachment


    【解决方案1】:

    如果您在邮件服务器上具有 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 服务器。

    【讨论】:

      【解决方案2】:

      有几种方法可以做到这一点。我将首先研究通过 IMAP 或 POP 以编程方式检索电子邮件。这似乎是您所涉及的摩擦最少的方法。您的电子邮件服务器的负责人可以为您设置一个帐户,所有邮件都将转发到该帐户。

      或者,您可以编写一些东西将所有电子邮件转发到另一个邮件服务器,并使用它将电子邮件通过管道传输到脚本或将其转发到cloudmailin.com 之类的服务(也可以将附件发送到 S3)所以您可以通过编程方式获取消息。

      收到邮件后,您只需解析附件并将其复制到您需要的文件夹中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多