ページを選択

ストブロ

Coffee's Blog.

第16回「maildrop、mailfilterによるメール振り分け 完成版」

執筆者 | 2015年03月15日 | ストブロ

これまでも「レンサバ迷惑メール対策」 や 「迷惑メール対策 後編」 等でさくらインターネットを初め多くのレンタルサーバーのメールシステムで採用されているであろう「maildrop、mailfilter」によるメール振り分けについてご紹介してきましたが、今回はその後の検証も踏まえて一応の完成版という事でご紹介します。

 

pop3やimap4で使えるメール振り分けの方法としてご興味がありましたらご覧下さい。

ポッドキャストでもご説明をしておりますので、合せてお楽しみ下さい。

※メールシステムは間違えると届かなくなったりします、慎重な作業をお願いします。

作業は全て自己責任でお願いします。

 

今回は基本的にimap4でメールを利用する場合のご説明になります。

pop3の場合は振り分けたメールはウェブメールで確認する事が出来ます。

 

1)imap4でこんな感じになります。

maildrop01

実際に私が使用しているメーラー(現在はWindows Live mail 2012)の様子です。

赤枠で囲まれた所がメール振り分け先のフォルダです。

目的により名称は任意に設定する事ができますが、作業性を考えるとアルファベットのフォルダ名が良いでしょう。

 

maildrop02

振り分けられたメールを見てみましょう。

振り分けの「命令」及び「辞書」によりヒットしたメールはそれぞれのフォルダに自動的に格納されます。

 

 

2)設定する場所を確認

さくらインターネットのレンタルサーバーサービスにお馴染み「WinSCP」でログインすると、公開しているデータ以外にも確認する事が出来るデータが色々あります。

その中でしたの写真の通りMailBoxというフォルダがあります。

maildrop03

これが今回作業を行うフォルダです。

フォルダの中はこんな感じになっています。

maildrop04

・・・分からないですよね(゚_゚;) スミマセン、全部伏せ字なので。

本来はメールアカウント(@より前側)と同じ名前のフォルダが並びます。

1つ1つがそれぞれメールアカウントという事になります。

 

更にその中の一つに入ってみましょう。

maildrop05

人により内容は違ってきますが、「maildir」等を含むいくつかのフォルダとファイルがあります。

上の図では既に今回のメール振り分け機能に欠かせないファイルがいくつも追加されています。

詳細は後程。

 

更に「maildir」に入ってみましょう。

maildrop06

ここがメールボックス内のフォルダの一覧になります。

伏せ字の部分は私が独自に追加しているフォルダです。特別な機能では無く、メーラーやウェブメール上で追加した普通のフォルダです。

赤枠内が今回使用する振り分けフォルダです。

みなさんのメールフォルダにはまだ赤枠のフォルダがないはずです。

後程作りますので確認が出来たらOKです。

 

3)振り分け先のフォルダを作る。

さて、具体的な作業に入っていきます。

まずは振り分け先のフォルダを作りましょう。

imap4であればメーラーからも同等の作業ができますが、ここは念のためウェブメーラーから作業を行います。

webmail01

さくらインターネットのウェブメーラーの画面です。

下の赤枠のフォルダを作ります。

メニュー内の「フォルダ」をクリックします。

webmail02

「最上位にフォルダを作成」をクリックするとフォルダ名を入力する小窓が表示されます。

そこに任意の名前を入力すればOKです。

ここでは英数字で4つのフォルダを作ります。

 

※新しいフォルダとメーラー上のフォルダの同期について

私はWindwosLiveMail2012を作っていますが、ウェブメーラー上で新しいフォルダを作ったら、LiveMailで再度フォルダの設定(なんと表現すれば良いのか悩みますが)が必要でした。

メーラーにより違うのかも知れませんが、フォルダは間違いなく出来ていますので試行錯誤してみて下さい。

 

4)whitelist、blcokaddrの中身を確認する。

次にホワイトリストとブロックリストの中身を確認します。

maildrop07

こちらは私のホワイトリストです。

今回設定するmailfilterのプログラムでは「ホワイトリストに入っているものは、とにかくそのまま受信!」としているので、可能であれば日常メールのやりとりをする人を片っ端から登録しておくと安心です。

登録しなくても、特に問題はありません。

後程、メールフィルタの動作確認などありますので、通常は自分のドメイン、メールアドレスを登録しないでおいて下さい。

※振り分けに反応するキーワードを含む可能性があるが、振り分けたくないメールアドレスが発生したらホワイトリストに登録してください。

 

maildrop08

こちらはブロックアドレスです。

mailfilterでの振り分けをする前の迷惑メール対策を行っていたのでこんなに登録されていますが、みなさんは基本的に登録する必要はないと思います。

ブロックリストで出来るメールの拒絶は限界があります(アドレスがドンドン変るので)

 

ここでは、ある程度ホワイトリストの確認が出来ればOKとします。

 

5)辞書ファイルを作成する。

つづいて、メール振り分けを行う為のキーワードファイルを作ります。

仮に辞書ファイルと呼んでいますが、このキーワードにヒットしたメールに対し、指定した振り分けを行う事になります。

5-1).blockfrom

先程確認した「ホワイトリスト」をコピーしてファイル名を変更しましょう。

A)まずは「.blockfrom」とします。ファイル名の前のピリオドを忘れないで下さい。

B)次に一度ローカル(パソコン)へダウンロードします。ファイルのエンコード設定を変更する為です。

C)ダウンロードしてきたら「Terapad(テラパッド)」等のエディタで開きます。

D)「文字/改行コード指定保存」で文字コードを「UTF-8N」、改行コードを「CR+LF」にして保存します。

maildrop-terapad

E)再度アップロードします。

 

これで辞書ファイルの準備が整いました。

WinSCPでサーバー上の「.blockfrom」を開いてみましょう。

maildrop-moji

日本語が入力されていると必ずこういう風に文字化けします。

(英語だけの時は文字化けしていないように見えるかも知れません。)

※編集する前に、必ず赤枠の「エンコード」をクリックし、「UTF-8」に変更して下さい。

 

ちなみに、エンコードを変更せずに編集するとファイルが破損し開けなくなりますので厳重注意です。

 

「.blockfrom」はメールの「差出人」に対してマッチングを行う辞書ファイルです。

私が現状使用しているファイルがこちらです。

maildrop10

赤枠で示すとおり行頭に「#」を入力するとコメントして取り扱い出来ます。

1キーワード 1行で記入をしていきますが、正規表現が使用可能です。

赤字で示したとおり、様々なキーワードの組み合わせが使用できます。

 

一般名詞だけのキーワードは誤判定率があがるので、出来るだけ複数の単語や文章を組み合わせたものにしましょう。

原則としては既に受信済みのメールの件名を見て、そこからキーワードを抽出し、登録して下さい。

5-2).blockword

「.blockword」は「件名」に対してマッチングを行う辞書ファイルです。

ここでは英語のみの登録をしています。

5-1で行った「エンコードの変換」は不要になります。

A)ホワイトリストをコピー

B)名称を「.blockword」に変更

コレで完了です。

maildrop11

正規表現が使用できるのはどの辞書ファイルも一緒です。

色々工夫してみて下さい。

 

5-3).blockwordutf8

「.blockwordutf8」は「件名」に対してマッチングを行う辞書ファイルです。

「.blockword」との違いは「日本語のマッチングを行っている」という点です。

ファイルの準備方法は5-1と同様です。

エンコードの切替も忘れずに。

maildrop12

辞書ファイルは最初から豊富なキーワードを用意すると失敗の原因にもなるので、少しずつ増やしてみて下さい。

 

6)振り分け命令ファイルを設定する。

さて、いよいよ振り分けの命令プログラムを導入します。

もう少しですので頑張りましょう!

「.mailfilter」はもともとサーバー側で用意されています。

開いてみると「ホワイトリスト」と「迷惑メール判定」程度の命令文が記入されていると思います。

maildrop09

コーヒーが長い時間掛けてあれこれ研究した結果辿り着いたmailfilterの判定プログラムがこちらです。

公開するかどうか随分悩みましたが皆さんのお役に立てればと思い公開を決意しました。

コピペしてもらって、ご自身の環境にあわせて修正すれば使用できると思います。

mailfilter.txtはこちら
ダウンロードして中身をエディタ等で開いて下さい。

WinSCPのエディタで既存の「.mailfilter」ファイルにコピペしたら、余計なスペースが無いか確認して下さい。

タブ等は見やすいように修正して下さい。

詳しくは画像に記入した通りですが、ポイントは青枠。

青枠内の処理は「ホワイトリストにアドレスがなければ実行するプログラム」になっています。

その為、ホワイトリストにアドレスがあれば、全て無視して受信されます。

 

7)テスト用のダミーメールを作成する。

さぁ、これで無事に設定が出来た!はずです(笑)

maildrop、mailfilterの振り分けは何かが間違っていると処理が中断し、ずーーーとメールが受信されないままたまり続けます。

非常にまずい状態になりますので、十分な確認が必要になります。

 

そこで行うのが動作確認です。

mailfilter等があるフォルダ内に、ダミーメールを用意します。

maildrop15

これが私が使用しているダミーメールの一つです。

名称は「spam.eml」

文字エンコードは「shift-jis」

改行コードは「CR+LF」です。

 

このファイルはメーラーを使用して作成します。

受信したメールを何でも良いので一つ選んで「エクスポート」や「保存」で「eml形式」のファイルにします。

「Terapad(テラパッド)」で開き、一部内容を修正していきます。

メールには1通1通個別のIDが振り当てられていますが、そういう特定できるようなものは全て削除しても大丈夫です。

あるいは「0000coffee0000」見たいにダミーのIDを設定しても良いかも知れません。

迷惑メールの判定には影響しないので問題ないです。

 

逆に、「From:」や「Subject:」そしてメール本文(文章の部分)が大事になりますのでそこは残しておきましょう。

メールアドレスは念のため、全て自分のアドレスに変更しておいて下さい。

 

用意するダミーファイルは2つ。

一つは「全ての処理を通過する、マッチングするキーワードを持たないファイル」

もう一つは「FromやSubjectにマッチングするキーワードを持つファイル」です。

キーワードはFromとSubjectの両方で実行するので、From用のダミーファイルとSubject用のダミーファイルを別々に用意しても良いかも知れません。

8)テストをする。

maildrop-winscp

テストはWinSCPで行います。

赤枠のボタンを押してコンソール画面を開きます。

 

maildrop18

上のコマンド入力欄に

「 maildrop -V 9 .mailfilter < spam.eml 」

と入力します。

これが「メールドロップでmailfilterを使用してspam.emlを処理してね!」という命令文です。

状況に応じてspam.emlの名前を変えて実行します。

 

maildrop17

上の写真は全てのマッチングが終わったリザルトです。

赤枠の中に(38)とか書いてますが、これが私のプログラムが最後まで走りきった状態です。

命令文を変えるとこの数字も変ります。

最後に「maildrop unable to open mailbox」と表示されます。

これは「メールドロップはメールボックスを開けなかった(配達できなかったよ!)」という意味です。

このプログラムでは全てのマッチングを通過したメールを届ける先を指定していません。

なので、エラーとして表示されます(配達はされるので問題ありません)

 

maildrop18

再登場したこの写真はキーワードにマッチした状態で終了した場合です。

「Delivery complete」と表示されているのは「マッチングするキーワードが存在した」為に「指定されたフォルダに振り分けた」という事です。

 

上の二回を確認出来たら実際にメールを送って実験してみましょう。

自分のアドレスから自分のアドレスに宛てて、キーワードを含む/含まないファイルを送ってみると正常に動作しているのが確認出来ると思います。

 

長い間お疲れ様です、これで作業は完了です。

 

9)コーヒー版メール振り分けの考え方。

私の制御プログラムは基本的に「全てのメールは一度受信する」という方針で作られています。

100%自信を持って不要な場合は受信もせずに拒絶したりも出来るのですが、万が一という事もあるので。

後はご自身の希望によってプログラムを修正してご活用頂ければと思います。

 

また、辞書ファイルは徐々に鍛えていくものなので、気長に付き合って下さい。

 

最後に繰り返しになりますが、誤動作しないように十分に注意しながら作業を進めて下さい。

 

もし、「よりよい制御プログラムが出来た」等と言う場合はコヒ蔵にも教えて頂けると嬉しいです。

不明な点は私が答えられる範囲内でしたらお答えしますのでコメント欄やメールフォームからお問い合わせ下さい。

カラダマジック

おはようございます、今週は火曜日から週の始まりという方も多いのでは? 月曜休みでも土曜日出勤だからなんとなくチャラな感じの 桂 コヒ蔵です(^o^)丿~♪ 今朝も起きました。 当然ですw 朝起きが苦手な私は、目覚まし時計をいっぱいセットします。...

良い物はやっぱり高いのかな(^^ゞ

毎度馬鹿馬鹿しいブログにお付き合い頂いております。 ストブロのコヒ蔵です(^o^)丿~♪ 仕事でアドベ製品をちょいちょい使うのですが、 半年前までは触ったことがない製品を買ってはせっせと勉強しております。...

カジョゥハ・ンーノウです。

はじめまして、おはようございます。 最近人気の香港出身映画監督、カジョゥハ・ンーノウです。 うそ、コヒ蔵です♪ おなかの調子がよくないここ数日ですが、 私の過剰反応っぷりが自分で面白いので、皆さんにもその滑稽な姿をお伝えしたいと思っています。...

シドロー・モドローンです。

はじめまして、おはようございます。 ハリウッドスターのシドロー・モドローンです。 うそ、コヒ蔵です orz 今朝は寝坊しました。 寝坊してシドロモドロw シドロモドロで、 テンヤワンヤで、 アタフタで、 バタバタです。...

電器屋Walker新CMシリーズ(3)

Taiji君バージョン(アップル屋Walker チクチクツッコミ付き) Coffeeバージョン(可もなく不可もなく、スタンダードバージョン) Cheekバージョン(春だし、やっぱりムサイおじさん声より女の子の声だよねバージョン)...

調査に行ってきましたよ♪

ご機嫌如何ですか? INSTのコーヒーです(^o^)丿 昨日は日曜日。 と、言うことで電器屋さんへ調査へ行って来ました(^o^)丿 お店は大変な賑わい! で、メーカーさんから応援が来てたので早速聞き込み!!...

Do you make your week as you wish?

ぐるぐるっと回って一週間! 日曜日から新しい一週間が始まるというのが本当らしいのですが、 企業戦士、社会の歯車たる私にはどうしても「月曜日」が週の始まりな 気分です。 私の地方ではようやく春の気配を感じるようになってきました。 すっきりと晴れ渡った空。...

スズメの導入を検討します

ちゅんちゅん♪ スズメには全力で逃げられて、 ハトには大群にたかられる。  桂 コヒ蔵です(^o^)丿~♪ みなさん、朝食ってどうしていますか? 私の場合、以前は朝食を食べませんでした。 「ご飯食べる時間があるなら寝ていたい!!」ってのが本音ですがw...

ほぼ日刊の日記なら

全国1億3千万の○○ファンの皆様、こんにちわ。 軽妙な「ら抜き言葉」でお馴染み、桂 コヒ蔵です。 今日から改名して「ラーヌキ コヒ蔵」にしようとしましたが、市役所で苦笑いされましたw さて、みなさん毎日続けている事って何かありますか?...

ダイエットとチョコレートの甘い関係。

突然ですが、 私コーヒーはこの2年間で20キロ程のダイエットに成功しました。 ダイエット生活を本にまとめて夢の印税生活・・・と思っているのですがw 冗談はさておき、やれパソコンだ、やれゲームだと...

電器屋Walkerの新CM、「絶賛配信中」バージョン

以前から使用していた「パーソナリティー、Taiji、Coffee」で始まるCMは INST内の評判が結構良かったんです。 でも、実は・・・ 宇都宮に出張に行った際に、ホテルで収録ww ビジネスホテルに何十回と響き渡る「絶賛配信中」の声ww...

電器屋Walkerの新しいCMシリーズ(2)

電器屋Walkerの新しいCMシリーズ(2)です。 当然配信中にも流れますが、こちらでもちょっと紹介しますww 基本的に全員同じ内容を言っているはずです。(はず?w) どっから聞いても「アップルWalker」なTaiji君のCMでしたがw...

0コメント


電器屋Walkerの過去配信のBGMで利用させて頂いております。

ポッドキャスト品質向上、整音テクニック 解説Live

開催のお知らせ

詳細はこちら

国際ポッドキャストの日

International Podcast Day Event

ツキイチ - 隣のポッドキャスト

まとめファンサイト