收到电子邮件后立即解析

时间:2010-12-25 02:16:03

标签: python postfix-mta

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

  1. 有没有办法可以在收到电子邮件后立即对其进行解析 轮询服务器?还有,怎么可能 我实现这个可扩展?对于 例如,如果有50个传入 每秒消息。
  2. 我是以编程方式将每个用户的电子邮件地址写入postfix配置文件中的邮箱。创建一个catch all帐户会不会更好,所以我不必写每个电子邮件地址?但是,我知道所有帐户都更容易受到垃圾邮件的攻击。<​​/ li>

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

要将电子邮件转发到脚本,在别名文件中放置如下行:路径必须指向此文件

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

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

答案 2 :(得分:0)

  1. 我建议使用Procmail。它专门用于处理您收到的邮件,您可以将具有特定属性的所有邮件传递到您的应用程序。

    http://www.procmail.org/

  2. 通过监控计算机上的所有邮件,通常可以非常轻松地解决垃圾邮件地址的垃圾邮件问题。如果多个地址收到相同的邮件,那么它很可能是垃圾邮件。