AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 698324
Accepted
Marki555
Marki555
Asked: 2015-06-12 06:57:54 +0800 CST2015-06-12 06:57:54 +0800 CST 2015-06-12 06:57:54 +0800 CST

Postfix 如何与代理过滤器一起使用策略服务

  • 772

在 debian 上使用 postfix 2.9 我已经配置了队列前代理过滤器来扫描垃圾邮件和病毒smtpd_proxy_filter=127.0.0.1:27。我使用的是代理过滤器而不是内容过滤器,因此我可以直接拒绝电子邮件(使用队列后内容过滤器,我只能丢弃电子邮件并选择性地将反向散射发送到伪造的发件人地址)。

我还想使用策略服务来限制每个 SASL 用户名发送的电子邮件数量。这是在smtpd_recipient_restrictions之前配置的permit_sasl_authenticated。策略守护程序工作正常,但后缀抱怨它无法保留带有此消息的电子邮件:

warning: access table inet:127.0.0.1:10031: with smtpd_proxy_filter
specified, action HOLD is unavailable

根据这个线程,这是不可能的:

要使用 smtpd_proxy_filter 保留邮件,请在过滤器之后使用 smtpd 进程指定 HOLD 操作。

我已经尝试过了,但是当我将策略服务放在代理过滤器之后的 smtpd 守护程序上时(在我的例子中是端口 26 上的 smtpd),它没有得到任何 SASL 信息(通过 tcpdump 确认)。

smtpd :25 ---> before-queue proxy localhost:27 ---> smtpd localhost:26

那么如何将这两个检查结合起来呢?

编辑:也许嵌套的队列前过滤器会起作用?然后我需要使用不同的程序进行 SASL 检查,或者进行一些过滤器/策略协议重写......

postfix
  • 1 1 个回答
  • 838 Views

1 个回答

  • Voted
  1. Best Answer
    Marki555
    2015-06-19T01:56:47+08:002015-06-19T01:56:47+08:00

    最后,我已经能够提出可以正常工作的解决方案,尽管它是一个两步的方法。

    首先,我修改了策略守护程序(后缀线索者 v2)配置以返回PREPEND指令而不是 HOLD。我正在添加一个特殊的标头,稍后将对其进行评估:PREPEND X-cust-policy: Hold. 这甚至可以与队列前代理过滤器结合使用。

    其次,我使用了中的指令来检查我以后添加的内容。此检查由守护程序在邮件进入队列之前进行评估。因此,电子邮件通过包括策略守护程序在内的所有检查后,将通过队列前过滤器,然后由守护程序处理。通常它应该将消息放入传入队列,但是当它找到此标头时,将邮件直接放入保留队列中。header_checkspcre:/etc/postfix/header_holdmain.cfcleanup(8)cleanup(8)

    这是PCRE 表文件的内容/etc/postfix/header_hold:

    ### PCRE format, no postmap command!
    # Hold all email with specified header (which is inserted by policy service)
    /^X-cust-policy: Hold/    HOLD
    

    唯一需要注意的是,基于标头的检查也会在返回的无法投递的邮件上触发(但从保留队列中释放的邮件会被退回的情况并不常见)。

    此外,我还必须更新 cuebringer webui 以支持 Quotas 模块的 PREPEND 操作,尽管守护程序本身已经支持它(Debian wheezy 中的版本)。

    • 3

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve