Category
- 1/43 Car's (246)
- Bouldering (14)
- Camera (32)
- Computer (41)
- Everyday (134)
- Goods (12)
- Linux (49)
- Music (32)
- Photo (65)
- Plant (33)
- Plastic Model (58)
- Trekking (43)
- WordPress (35)
It's blog written about Trekking ,1/43 MiniCar , Plastic Model , Photo , Computing.
RSS自宅サーバーでは、SpamAssassinとProcmailでスパムメールを
消し去ったり(/dev/nullへ)、各ユーザーのスパムメールフォルダへ配送している。
サーバーの基準値としては、/etc/procmailrcを記述して
サーバーがスパムと判断したメールは、有無を言わさず消し去っている。
</etc/procmailrcの内容>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<span style="color: #ffffff;">SHELL=/bin/bash PATH=/usr/bin:/bin DROPPRIVS=yes MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ SPAM=$MAILDIR/.Spam/ LOGFILE=$MAILDIR/.procmail.log # ログ出力先 #VERBOSE=ON # 詳細ログ出力 # 未承諾広告メール削除※システムの文字コードがUTF-8(デフォルト)の場合 :0 * ^Subject:.*iso-2022-jp * ^Subject:\/.* * ? echo "$MATCH" | nkf -mwZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※' /dev/null #未承諾広告メール削除※システムの文字コードがEUCの場合 :0 * ^Subject:.*iso-2022-jp * ^Subject:\/.* * ? echo "$MATCH" | nkf -meZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※' /dev/null # SpamAssassinによるスパムチェック :0fw |/usr/bin/spamc # SpamAssassinにより判定されたSpam-Levelが一定値以上の場合は破棄 :0 * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* /dev/null # SpamAssassinがスパム判定したメールは破棄 :0 *^X-Spam-Flag: YES /dev/null # OCNがスパム判定したメールは破棄 :0 * ^Subject:.*meiwaku.* /dev/null #Yahooを偽装したスパムメールは破棄 :0 * ^From:.*root@mta.*yahoo.* /dev/null </span> |
ユーザーには$HOME/Maildir/.Spam/フォルダと、
$HOME/.procmailrcを予め用意して、
(userminを導入しています)
各人でレシピを記述してもらっている。
<$HOME/.procmailrcの内容>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<span style="color: #ffffff;">SHELL=/bin/bash PATH=/bin:/usr/bin:/usr/local/bin MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ LOGFILE=$MAILDIR/procmail.log # サブジェクトがエンコードされていたらデコードして制御文字等を削除 # エンコードされていない場合にも備える :0 * ^Subject:\/.* { :0 * ^Subject:.*iso-2022-jp DECODED_SUBJECT= | echo "$MATCH" | nkf -mwZ2 | sed 's/[[:space:]]//g' } #----------ここまでは消さないでください-----------------------# #サンプル)件名に「スパム」が含まれたメールはスパム専用メールボックスへ配送 #:0 #* $DECODED_SUBJECT ?? .*スパム.* #$MAILDIR/.Spam/</span> |
これで、スパムは各ユーザーのスパムフォルダへ配送されるが、
スパムフォルダを放置するユーザーもいると思うので、
3日期限でスパムフォルダを毎日夜中に掃除している。
<スパムフォルダを掃除するスクリプトの内容>
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="color: #ffffff;">#!/bin/sh do for user in `ls /home/` if [ -d /home/$user/Maildir/.Spam/ ]; then find /home/$user/Maildir/.Spam/cur/<span style="color: #ccffcc;">(都合により改行)</span> -type f -mtime +3 -exec rm -f '{}' ';' &>/dev/null find /home/$user/Maildir/.Spam/new/<span style="color: #ccffcc;"> (都合により改行)</span> -type f -mtime +3 -exec rm -f '{}' ';' &>/dev/null find /home/$user/Maildir/.Spam/tmp/<span style="color: #ccffcc;">(都合により改行)</span> -type f -mtime +3 -exec rm -f '{}' ';' &>/dev/null fi done</span> |
-mtime +3 : ファイル更新が3日より以前のファイルを指定