如何将垃圾邮件移至垃圾邮件文件夹

 刺客狙侠者 发布于 2023-01-08 20:54

我已经在我的centos 5.10上安装了postfix,dovecot,Clamav,Spamassassin和amavisd-new.教程在这里:http://catatanlepas.com/komputer/aplikasi/server-mail/postfix/359-instalasi-postfix-menggunakan-dovecot-di-centos-5-5

我只是没有在该教程上安装Razor,Pyzor,dan DCC.

在/ var/log/maillog中一切正常,如果垃圾邮件没有进入收件箱,但我想将垃圾邮件移动到垃圾邮件文件夹.

我的问题是:1.如何在我的网络邮件上自动创建垃圾邮件文件夹,因为它只是创建收件箱,草稿和已发送项目,我的网络邮件上没有垃圾邮件文件夹.2.如何将垃圾邮件移动到每个用户的垃圾邮件文件夹(我在/ var/vmail上创建用户)

请帮助我,我在谷歌搜索了5天,我在这堆栈:(

谢谢.

2 个回答
  • 对于Dovecot 2.1+修改/etc/dovecot/dovecot.conf:

    namespace {
        type = private
        separator = .
        inbox = yes
      mailbox Trash {
        auto = subscribe # autocreate and autosubscribe
        special_use = \Trash
      }
      mailbox Drafts {
        auto = subscribe
        special_use = \Drafts
      }
      mailbox Sent {
        auto = subscribe
        special_use = \Sent
      }
      mailbox Junk {
        auto = subscribe
        special_use = \Junk
      }
    }
    
    plugin {
        sieve = /home/spam/default.sieve
    }
    
    protocol lda {
                auth_socket_path = /var/run/dovecot/auth-master
                mail_plugins = $mail_plugins sieve
    }
    

    然后/etc/postfix/master.cf - 添加

    spamassassin unix -     n   n   -   -   pipe
      user=vmail argv=/usr/bin/spamc -f -e  /usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
    

    (!!)user = vmail - 将用户更改为为spamassassin设置的用户

    并将内容过滤器添加到smtp

    smtp  inet  n  - - - -  smtpd -o content_filter=spamassassin
    

    在/etc/mail/spamassassin/local.cf中

    add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ version=_VERSION_
    #rewrite_header Subject *****SPAM*****
    bayes_ignore_header X-Bogosity
    bayes_ignore_header X-Spam-Flag
    bayes_ignore_header X-Spam-Status
    

    我将X-Spam标题添加到将用于稍后筛选过滤的消息中重新启动spamassassin,重新加载dovecot和postfix

    将自动创建垃圾文件夹.所有垃圾邮件将在本地传递到邮箱垃圾

    我还添加了筛选过滤器的示例,将所有标记为垃圾邮件(上面的spamassassin配置)移动到垃圾邮件文件夹.

    require "fileinto";
      if exists "X-Spam-Flag" {
              if header :contains "X-Spam-Flag" "NO" {
              } else {
              fileinto "Junk";
              stop;
              }
      }
    

    2023-01-08 20:58 回答
  • 我 - 设置您的电子邮件发送以使用Dovecot LDA:

    OP链接的原始网站是离线的,但我相信电子邮件的发送是通过sendmail程序进行的,应该通过Dovecot LDA完成您的需要.(避免电子邮件原始标题更改).

    编辑Postfix master.cf(开头):

    smtp      inet  n       -       -       -       -       smtpd -o content_filter=spamassassin
    

    在文件的末尾:

    spamassassin unix -     n   n   -   -   pipe
        flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e 
        /usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} 
    

    现在编辑Postfix main.cf并添加(可选,检查(3)下面):

    spamassassin_destination_recipient_limit = 1
    

    现在,您的电子邮件将通过Dovecot LDA发送,不会更改标题.对于好奇的,这里是我的配置的一些细节:

      配置可以与加号/子寻址/收件人分隔符一起使用(发送到的电子邮件user+nospam@example.com将被发送到user@example.com收件箱中) - 这就是为什么我添加-d ${user}@${nexthop}这将删除+和域之前的所有内容.要启用此功能,也一定要加recipient_delimiter = +main.cf;

      我的旗帜flags=DROhu,他们没有添加任何异常,但他们可以在这里理解:http://www.postfix.org/pipe.8.html ;

      spamassassin_destination_recipient_limit = 1需要确保每个收件人都被spamassassin单独处理.由于D上面的标志(包括X-Original-To标题),这是必需的.如果你不关心这个标题,你可以删除标志,这是不需要的.

    II - 将垃圾邮件移至Junk文件夹:

    (在@Electronic Technologies的帮助下,访问/sf/ask/17360801/)

    您还可以配置Dovecot将检测到的垃圾邮件移动到JunkIMAP文件夹.请按照:

      编辑/etc/dovecot/conf.d/15-mailboxes.conf和取消注释/添加Junk文件夹(应该在namespace inbox附近的部分mailbox Trash):

      mailbox Junk {
         special_use = \Junk
      }
      

      安装dovecot-sieve使用apt-get install dovecot-sieve;

      编辑/etc/dovecot/conf.d/90-sieve.conf并评论该行:#sieve = ~/.dovecot.sieve

      编辑/etc/dovecot/conf.d/90-plugin.conf为:

      plugin {
          sieve = /etc/dovecot/sieve/default.sieve
      }
      

      编辑/etc/dovecot/conf.d/15-lda.conf/etc/dovecot/conf.d/20-lmtp.conf匹配:

      protocol lda/lmtp { # do not copy/paste this line!
        mail_plugins = $mail_plugins sieve
      }
      

      警告:您可能在protocol选择下有其他设置,保留它们.protocol lda/lmtp文件中的行更改,保留原始文件.

      创建文件夹 /etc/dovecot/sieve/

      /etc/dovecot/sieve/default.sieve使用此内容创建文件:

      require "fileinto";
      if header :contains "X-Spam-Flag" "YES" {
          fileinto "Junk";
      }
      

      将文件夹权限更改为您的虚拟电子邮件用户和组,如:chown vmail:vmail /etc/dovecot/sieve/ -R.如果你错过了这个鸽子会抱怨!

      重启一切: service postfix restart; service dovecot restart; service spamassassin restart

      尝试向服务器上的某些电子邮件发送电子邮件(从外部服务器),首先是普通电子邮件,然后是另一个电子邮件:XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X.第二封电子邮件应该进入Junk文件夹,第一封应该进入收件箱.

    如果这在您第一次尝试时不起作用,请查看日志:tail -f /var/log/mail.log并在tail运行时发送电子邮件.一个好的工作设置应报告stored mail into mailbox 'INBOX'stored mail into mailbox 'Junk'.

    2023-01-08 20:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有