※第16回「maildrop、mailfilterによるメール振り分け 完成版」で、もう一度詳しく説明しています。そちらもご覧下さい。
レンタルサーバーforビギナーズ 第10回「レンサバ、迷惑メール対策」
MailDropを利用した迷惑メール対策について
さくらのレンタルサーバーやVPSサービスで迷惑メール対策を。
MailDrop(mailfilter)を利用したキーワードマッチング式の
迷惑メール対策についてご説明します。
突如判定が厳しくなったGmailに対する送信についてもご説明しています。
SPFレコードの設定方法についてはさくらのレンタルサーバー IP6利用&SPFレコードについて(Gmail対策)をご参照下さい。
私が調整中のmailfilter関係の設定内容(参考)
※ご利用は自己責任でお願いします。
ステップ1 作業前に必ずバックアップを取って下さい。
文法や設定ファイルの内容に問題があると、該当するアカウントでのメール受信が停止します。
その際、正常に動いていたファイルに戻すと、受信が復活します。
(スタックしてしまったメールは10分後ぐらいに受信されます。)
必ずバックアップをして置いて下さい。
バックアップするファイルは「.mailfilter」
作成済みであれば以下も「.bkword」「.bkwordjp」
ステップ2 mailfilter設定の調整
if ( /^From:\s*(.*)/ && lookup( $MATCH1, ".blockaddr" ) )
{
to "maildir/.Trash/"
}
if ( ! ( /^From:\s*(.*)/ && lookup( $MATCH1, ".whitelist" ) ) )
{
xfilter "/usr/local/bin/spamc"
}
if ( /^To:\s*(.*)undisclosed-recipients(.*)/ )
{
to "maildir/.Trash/"
}
if ( /^Subject:\s*(.*)/ && lookup( $MATCH1, ".bkword" ) )
{
to "maildir/.Trash/"
}
if ( /^Subject:\s*(.*)/ && lookup( $MATCH1, ".bkwordjp" ) )
{
to "maildir/.Trash/"
}
SUBJECT=`cat | grep Subject | nkf -ms`
if ( lookup( $SUBJECT, ".bkwordjp" ) )
{
to "maildir/.Trash/"
}
さくらのレンタルサーバーのコントロールパネルやウェブメールの設定変更の影響を受けます。
特に、ブロックリスト、ホワイトリストへのアドレスの追加などを行うと、このファイルは自動的に変更される場合がありますので注意しましょう。
(1)TOが空欄の場合ゴミ箱へ(CC、BCCのみでの送信のメールを捨てる。)
if ( /^To:\s*(.*)undisclosed-recipients(.*)/ )
{
to "maildir/.Trash/"
}
(2)件名がbkwordファイル内のキーワードとマッチすれば捨てる。
if ( /^Subject:\s*(.*)/ && lookup( $MATCH1, ".bkword" ) )
{
to "maildir/.Trash/"
}
(3)件名がbkwordjpファイル内のキーワードとマッチすれば捨てる。
さらに件名をjis変換して再度マッチング
if ( /^Subject:\s*(.*)/ && lookup( $MATCH1, ".bkwordjp" ) )
{
to "maildir/.Trash/"
}
SUBJECT=`cat | grep Subject | nkf -ms`
if ( lookup( $SUBJECT, ".bkwordjp" ) )
{
to "maildir/.Trash/"
}
この3つの処理でbkwordとbkwordjp内にあるキーワードと件名のマッチングを行って迷惑メールを処理しています。
ムダや不備があると思うのでアドバイスが頂けると嬉しいです。
ステップ3「.bkword」と「.bkwordjp」を作成する。
面倒なので「.blockaddr」をコピーして下さい。
このファイルはブロックリストです。コピーして名前を変更したら中身は削除して置いて下さい。
ちなみに「.bkword」は英語とのマッチング用のキーワードファイル
「.bkwordjp」は日本語のマッチング用キーワードファイルとしています。
ステップ4キーワードファイルを育てる
.bkwordファイルの中身(抜粋)
VIAG(L|l|R|r)A
R(0|O|o)LEX
(B|b)-(cas|CAS)
data.entry.job
website.traffic.generator
Dofollow.Backlinks
。
。
。
。
・1行1マッチングパターンです。
・限定的ですが正規表現が使えます。
.bkwordjpファイルの中身(抜粋)
([]頭)
([]ニス)
([]んこ)
([][]アグラ)
(バキ).*(フェラ)
(禁断).*(限定)
(あまり).*(気持).*(快感)
(業界).*(人級).*(サイズ)
[]は伏せ字です。実際はそのままの言葉が入っています。
・1行1マッチングパターン
・極めて変則的ですが、正規表現が使えます。
・()内のキーワードは全角で最大5文字まで(それ以上はエラーになる可能性があります。)
・1行の文字数は全角半角記号全て合せて19文字まで(それ以上はエラーになる可能性があります。)
・一部、何でも無い単語がエラーの元になったりする時があります。
私の場合([]ナニー)が単体でエラーとなりMaildropの動作を止めてしまいます。
日本語キーワードファイルはまだまだ謎が多く、動作不良を引きをおこす原因を多くはらんでいます。
なので、作業前には必ずバックアップをとり、キーワードを増やした後は必ず自分宛にメールを送って受信可能か確認して下さい(問題がでたら、追加した単語を1個ずつ削って確認しましょう)
注意点
構文やキーワードファイルにエラーが出ると、メールの受信が出来なくなり、その間に受信したメールが途中で引っかかります。ただ、変更点を戻す(バックアップファイルから戻す)とすぐに正常に動作し始めます。
ただ、一度引っかかったメールは10分後ぐらいになってようやく受信されますので、ご注意を。
私もまだ色々トライしながら調整しているので良いアドバイスや成功事例があれば教えて下さい。
さくらのレンタルサーバー以外でもMaildropを使用しているサーバーでSSHでアクセス出来るようであれば同じ事に挑戦が出来ると思います。
重ねて、くれぐれも自己責任でお願いします。
0コメント