根据Postfix中的脚本(后队列)重定向电子邮件?

时间:2014-03-19 08:44:44

标签: queue postfix-mta

我的公司希望对我们收到的电子邮件实施一些规则。

规则非常复杂,不能直接在邮件别名中使用,我们希望在我们拥有的任何域上处理任何电子邮件的实现(这意味着如果我们购买新域并将MX指向我们的服务器,它应该几乎直接工作。)

规则的一个例子是:

- >我们会创建一个类似于"支持@ "的电子邮件(@ 意味着它适用于我们指向我们服务器的任何域)在数据库中,并指定哪些用户(使用他们的个人电子邮件,如gmail.com / hotmail.com等)将收到该电子邮件。我们的支持团队还会在数据库中指明它们的工作时间(例如星期一,星期二),并且脚本会根据工作负载,可用性等将传入的电子邮件发送给我们的支持团队。

基于这种复杂性,我认为最好的选择是实现after-queue content filter,从我所看到的情况来看,我几乎可以实现除最后一部分之外的所有内容:重定向电子邮件。 / p>

我的问题很简单:在postfix后队列中,是否有可能返回对postfix&#34说的内容;此电子邮件已被接受,但您必须重定向< / strong> it to outside@another-provider.com",如果有,该怎么做?

此外,如果我们收到的电子邮件是大量垃圾邮件(因为我们会在我们的网站上明确指出该电子邮件),我们的MX服务器是否会被其他网络邮件(如gmail,hotmail等)视为垃圾邮件中继?

1 个答案:

答案 0 :(得分:0)

  • 要拥有所有域的support@地址并将其重定向到支持成员,请考虑以下示例。

    #/etc/postfix/main.cf
    virtual_alias_domains = a.com b.com c.com d.com
    virtual_alias_maps = hash:/etc/postfix/vmaps
    
    #/etc/postfix/vmaps
    support@a.com     auser@gmail.com,buser@hotmail.com
    support@b.com     cuser@sify.com
    support@c.com     duser@somedomain.tld,fuser@gmail.com,huser@hotmail.com
    

在上面的示例中,发送至support@a.com的邮件将始终转至auser@gmail.combuser@hotmail.com。正如您所说,如果您想动态决定用户,可以编写SQL function来实现相同的目标,因为无论如何,您将在某个数据库中拥有所有域和用户信息。

    # Sample SQL Function logic
    select support users for that domain who are working on that weekday
    if found return them
    else return default_user who will have to receive mail
  • 在网站上添加电子邮件,我们的MX会被视为垃圾邮件

    如果您在网站中添加电子邮件,则可能成为垃圾邮件攻击的目标。在您从服务器发送垃圾邮件之前不会有任何问题。

希望有所帮助。