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 / 问题 / 58646
Accepted
Zimmy-DUB-Zongy-Zong-DUBBY
Zimmy-DUB-Zongy-Zong-DUBBY
Asked: 2009-08-26 12:01:40 +0800 CST2009-08-26 12:01:40 +0800 CST 2009-08-26 12:01:40 +0800 CST

Exim+SA 的 LDA

  • 772

我有一个运行 Exim 和 Dovecot 的邮件服务器,由 MySQL 为虚拟用户提供支持。Spamassassin 已配置并且似乎工作正常,但未配置将标记的垃圾邮件发送到收件人的“垃圾邮件”目录。我们使用 maildir 格式进行存储。

我将如何处理邮件将被发送到的地方?我原以为 procmail 可以做到这一点,但我没有看到任何适合这个特定设置的配置。

简而言之: - Exim - Spamassassin - 虚拟用户,每个用户的根目录 = /home/mail/$domain/$local_part - 例如想要将垃圾邮件发送到 /home/mail/$domain/$local_part/spam/

TIA

exim procmail maildir
  • 3 3 个回答
  • 322 Views

3 个回答

  • Voted
  1. Best Answer
    Daniel Lawson
    2009-08-26T13:12:11+08:002009-08-26T13:12:11+08:00

    这是应该可以正常工作的东西。我基于标准的“本地交付”路由器/传输,但在 X-Spam-Flag 标头的条件中添加了它,我在相关 ACL 中较早设置了该标头。如果您不知道该怎么做,请告诉我,我会修改答案。

    我做了类似的事情,但在域级别,我的设置可能对你来说不太好。

    首先,你需要一个路由器。路由器是按顺序处理的,所以把它放在合适的地方——通常在你收到普通邮件之前,因为这将优先。

    spamcheck:
     debug_print = "R: spamcheck for $local_part@$domain"
     driver = accept
     check_local_user
     user = mail
     condition = "${if def:h_X-Spam-Flag: {yes}{no}}"
     transport = local_spam_delivery
    

    现在你需要一个 local_spam_delivery 传输,所以把它放在你的传输部分的任何地方:

    local_spam_delivery:
     debug_print = "T: local_spam_delivery for $local_part@$domain"
     driver = appendfile
     directory = /home/mail/$domain/$local_part/spam/
     maildir_format
     delivery_date_add
     envelope_to_add
     return_path_add 
    

    如果您不希望它作为 maildir,请删除 maildir_format 命令。您可能需要稍微调整规则,尤其是关于用户和组设置等。

    如果上面的示例中缺少某些内容,我注意到这里记录了一个类似的示例

    • 2
  2. David Pashley
    2009-08-26T13:10:39+08:002009-08-26T13:10:39+08:00

    您可以使用几个路由器轻松完成此操作。或者,您可以使用 exim 过滤器文件来执行此操作。

    我的 ~/.forward 中有以下内容,但您可以轻松地为您的全局过滤器文件使用类似的内容。

    if $spam_score_int is not "" then
       if $spam_score_int is above 49 then save $home/Maildir/.SPAM/ finish endif
    endif
    

    使用您的路径应该可以。只需在示例中替换替换它,不要忘记尾部斜杠,否则您可能最终会交付为 mbox 格式。

    • 1
  3. Zimmy-DUB-Zongy-Zong-DUBBY
    2009-08-27T04:45:42+08:002009-08-27T04:45:42+08:00

    我想出了以下将垃圾邮件发送到每个域的名为“Junk”的邮件目录的方法。

    mysql_delivery:
       driver = appendfile
       maildir_format
       directory = "${if and { {def:h_X-Spam-Flag:} {eq {$h_X-Spam-Flag}{YES}}} {/home/mail/${domain}/${local_part}/.Junk}{/home/mail/${domain}/${local_part}} }"
    

    我想当我最初发布这个问题时,我想得太难了。以上似乎工作得很好。不过,我会接受丹尼尔的回答。

    • 1

相关问题

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

  • 将所有(未被拒绝的)垃圾邮件重定向到 sa-exim 中的特殊邮箱

  • 设置 Exim 转发邮件

  • 我可以在 Exchange 2007 的服务器端强制执行邮件规则吗?

  • 用于从多个 IP 地址发送电子邮件的 Linux 电子邮件服务器

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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