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 / 问题 / 688250
Accepted
Zulakis
Zulakis
Asked: 2015-05-04 04:05:23 +0800 CST2015-05-04 04:05:23 +0800 CST 2015-05-04 04:05:23 +0800 CST

如何使用 sendmail 将扫描的邮件重新注入队列

  • 772

我想将传入的邮件传递virtual_transport给传输spamassassin(main.cf:)virtual_transport=spamassassin,然后使用 sendmail 将扫描的邮件重新注入到 postfix 中。

运输看起来像这样:

spamassassin unix   -    n     n   -   -    pipe
    flags=hu user=vmail:mail argv=/usr/bin/spamc -u ${recipient} -e /usr/sbin/sendmail -f ${sender} ${recipient}

根据后缀文档,这应该是可能的:

大容量站点应避免使用通过 Postfix sendmail(1) 和 postdrop(1) 重新注入扫描邮件的“简单”内容过滤器。

在我当前的 sendmail 调用/usr/sbin/sendmail -f ${sender} ${recipient}中,邮件循环传递回队列,然后返回到 spamassassin 等等。

根据我对 postfix 文档的理解,使用 postfix 传递的邮件sendmail被放入maildrop目录中,然后使用pickup. 我试图将 a 添加-o virtual_transport=dovecot到接送运输以避免排队,但这没有帮助。(我想这些选项只能附加到 smtp 传输中)。

如何将使用 spamassassin 扫描的邮件重新注入队列以进行最终传递,而不会导致循环?

email
  • 1 1 个回答
  • 1242 Views

1 个回答

  • Voted
  1. Best Answer
    masegaloeh
    2015-05-04T05:46:20+08:002015-05-04T05:46:20+08:00

    如何将使用 spamassassin 扫描的邮件重新注入队列以进行最终传递,而不会导致循环?

    不,你不能

    解释

    我了解您使用virtual_transport管道将电子邮件发送到 Spam Assassin 的原因。您只想扫描发送给您的电子邮件virtual_mailbox_domain。不幸的是,它不遵循使用参数的简单内容过滤器的推荐 设置。content_filtervirtual_transport

    为什么我不能通过virtual_transportpickup或smtpd?

    通常,这里是跨后缀代码的电子邮件之旅

    Input  --> cleanup --> qmgr --> Output 
    *smtpd                          *local     
    *pickup                         *virtual
    *qmqpd                          *smtp
                                    *lmtp
                                    *pipe
    

    在cleanup守护进程中,postfix 将“路由”您的电子邮件,无论它们属于虚拟、本地、smtp 还是其他传输方式。一个例外是当非空白content_filter参数被传递到输入服务 ( smtpd, pickup, qmqpd) 时。发生这种情况时,postfix 将覆盖消息路由并将电子邮件发送到其中content_filter。

    另请注意,默认情况下,所有后缀服务都是从中获取参数值的,main.cf除非您使用-o parameter=value on覆盖它master.cf。但并非man 5 postconf服务使用的每个参数。例如,content_filter仅由 使用pickup,smtpd因此qmqpd您可以将-o content_filter=amavis:[127.0.0.1:10025放在它们上面。再比如,把-o smtp_bind_address放进去是不明智的,smtpd因为这个参数只在smtp服务中使用。

    相同的论点可以应用于您的问题,“为什么我可以通过-o virtual_transport in pickup?”

    所以这里有几个可供您选择的设置

    • content_filter按照后缀文档中的说明使用。缺点是您还会扫描在您的域外中继的电子邮件。

    • 通过content_filter ACCESS 表和 FILTER 操作使用。通过这种方式,您可以有选择地扫描传入的电子邮件。不幸的是,您必须virtual domain再次在该表中登记。. permit_mynetworks您可以通过在、之后小心放置 ACCESS 表来避免它permit_sasl_authenticated。通过这种方式,外发电子邮件将已被允许,并且您只扫描传入的电子邮件。(归功于OP评论:))

    • 使用后缀多实例。通过这种方式,您可以保留virtual_transport参数,并且 spamc 会将电子邮件注入您的第二个实例。然后你可以virtual_transport在不同的实例中定义不同的。但是,如果您想保持设置简单,那就有点过分了。

    • 4

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

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