【问题标题】:Parsing emails as soon as they are received收到电子邮件后立即解析
【发布时间】:2011-05-30 13:38:10
【问题描述】:

我有用户发送包含一些我需要提取的文本的电子邮件。每个用户的电子邮件都映射到一个邮箱。我目前正在使用一个 cron 作业,该作业每 5 分钟轮询一次邮箱(后缀),检查新消息,并将其发送到我让工作人员解析它们的队列。我有两个主要问题:

  1. 有没有一种方法可以在收到电子邮件后立即解析,而不是 轮询服务器?还有,怎么可能 我将其实现为可扩展的?为了 例如,如果有 50 个传入 每秒消息数。
  2. 我正在以编程方式编写每个用户的电子邮件地址,以指向 postfix 配置文件中的邮箱。创建一个catch all帐户会更好,这样我就不必写每个电子邮件地址了吗?不过,我知道万能帐户更容易受到垃圾邮件的影响。

【问题讨论】:

    标签: python postfix-mta


    【解决方案1】:

    使用pipe alias 捕获电子邮件,然后使用 celery 将其转储到 MQ 进行处理。

    【讨论】:

      【解决方案2】:
      1. 我建议为此使用 Procmail。它专为处理您的传入邮件而设计,您可以将具有特定属性的所有邮件传递给您的应用程序。

        http://www.procmail.org/

      2. 通过监控机器上的所有邮件,通常可以很容易地解决包含包罗万象的地址的垃圾邮件问题。如果多个地址收到同一封邮件,则很有可能是垃圾邮件。

      【讨论】:

        【解决方案3】:

        是的,这很容易做到。您需要做的就是配置后缀以将电子邮件转发到脚本而不是邮箱。它不一定是包罗万象的,您可以配置 postfix 以将特定电子邮件转发到脚本。该脚本可以用任何语言编写。我在php中写了几次这样的脚本。对于非常繁忙的服务器,例如每秒 50 封电子邮件,另一种可能性是编写您自己的过滤服务器,然后配置 postfix 以将每条消息传递给您的过滤器。

        要将电子邮件转发到脚本,请在别名文件中输入如下一行:路径必须指向该文件

        someaccount |/usr/local/bin/emailParser.php
        

        要将电子邮件转发到过滤器,必须在 master.cf 中进行配置,有点困难。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-25
          • 1970-01-01
          • 2011-02-13
          • 1970-01-01
          • 1970-01-01
          • 2019-07-08
          相关资源
          最近更新 更多