標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 爬蟲 (1) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) Fedora (1) FI (57) File Transfer (1) Firefox (3) FM (2) fourjs (1) Genero (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (4) JavaScript (22) jQuery (6) JSON (1) K3b (1) ldd (1) LED (3) Linux (120) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) OpenSSL (1) Oracle (127) Outlook (3) PDF (6) Perl (60) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (5) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium (3) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) sqlplus (1) SQuirreL SQL Client (1) SSH (3) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (24) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (37) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) VirtualBox (1) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) Xvfb (2) youtube (1) yum (2)

2025年11月26日 星期三

postfix + procmail + spamassassin

 CentOS 6 已經EOL,所以要增加yum repository
1. cd /etc/yum.repos.d/
2. sed -i 's|#baseurl=http://mirror.centos.org/centos/$releasever|baseurl=http://vault.centos.org/6.10|g' CentOS-Base.repo

安裝spamassassin相關package
3.yum install spamassassin spamassassin-tools procmail perl-Mail-DKIM
4.service spamassassin restart
5.chkconfig spamassassin on

設定spamassassin
6.vim /etc/mail/spamassassin/local.cf
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)
# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
# -----------------------------
# 測試設定:標記 X-Spam-Status
# -----------------------------
report_safe 0      # 直接顯示原始信件分析結果,方便測試
required_score 5.0 # 分數達到 5 才算垃圾信
# -----------------------------
# 自訂規則:Display Name + domain
# -----------------------------
# 標記寄件人 domain
header LOCAL_NOT_COMPANY From !~ /\@zzz\.com$/
# 標記寄件人 Display Name
header LOCAL_BAD_NAME From =~ /xxx/
# 綜合規則:同時符合以上兩個條件
meta LOCAL_1 (LOCAL_BAD_NAME && LOCAL_NOT_COMPANY)
# 分數設定
priority LOCAL_1 10
score LOCAL_1 5.0
# 標記寄件人 Display Name
header LOCAL_BAD_NAME2 From =~ /yyy/
# 綜合規則:同時符合以上兩個條件
meta LOCAL_2 (LOCAL_BAD_NAME2 && LOCAL_NOT_COMPANY)
# 分數設定
priority LOCAL_2 10
score LOCAL_2 5.0

安裝 procmail

Procmail 是一款用於過濾和處理電子郵件的工具,其主要功能是在郵件伺服器(如 Postfix)接收到新郵件後,根據使用者設定的規則自動進行分類、轉寄、刪除或存檔等動作

7.yum install spamassassin procmail -y
8.vi /etc/procmailrc
MAILDIR=/var/mail
LOGFILE=/var/log/procmail.log
SPAMFOLDER=$MAILDIR/spam

# ---- 過濾垃圾信件 (經由 SpamAssassin 標記的 X-Spam-Flag: YES) ----
:0 fw
| /usr/bin/spamc

:0:
* ^X-Spam-Flag: YES
$SPAMFOLDER

create spam信件存放 file
9.sudo touch /var/mail/spam
10.sudo chown postfix:mail /var/mail/spam
11.sudo chmod 666 /var/mail/spam

create spam信件存放 file
12.sudo touch /var/log/procmail.log
13.sudo chown postfix:mail /var/log/procmail.log
14.sudo chmod 666 /var/log/procmail.log

設定postfix
15.vim /etc/postfix/main.cf
## 設定postfix使用procmail處理分類、轉寄、刪除或存檔
mailbox_command = /usr/bin/procmail -a "$EXTENSION"
# 使用系統預設的本地傳送方式
local_transport = local:$myhostname
relay_transport = smtp
virtual_transport = virtual
content_filter =
receive_override_options =
16.vim /etc/postfix/master.cf (搞錯,不用設定)
#每個參數要換行縮排兩個空格(或一個 tab)
#不要在 argv 內拆成多行,整個命令必須在同一行
#將以下加在最後
#spamassassin unix - n n - - pipe
#  user=nobody                                                                # 使用运行 spamd 的用户 (通常是 spamd 或 nobody)
#  argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} # SpamAssassin 客户端

重啟service
17.service spamassassin restart
18.service postfix reload

cron job 加上清空spam & log
19. crontab -l > cronfile ; vim cronfile ; crontab cronfile
1 23 * * */3 cat /dev/null > /var/mail/spam
2 23 * * */3 cat /dev/null > /var/log/procmail.log

沒有留言:

張貼留言