ページを選択

ストブロ

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

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

 

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

 

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

 

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

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

間違ってたら止めて!! あなたの手で!w

4月29日にいよいよ発売したメタルギアソリッド ピースウォーカー。 当日入手にあたり宅配便屋さんと血で血を洗う抗争劇がありましたが・・・ せっかくの楽しい気分を害してしまうので、それはまた別のお話ww ところでネットで注文していたUTが届きました♪...

こういう事ってステキかも

おはようございます。 朝といえば朝。 桂 コヒ蔵です。 ・・・意味不明ですがねw さて、昨日の事ですが、久しぶりに「生茶」を購入。 なにやら10周年らしく、それに関したありがとう的メッセージが 書いてあったような・・・なかったような・・・...

今日は「あれ」の発売日♪

ゴールデンウィーク前の月曜日、ご機嫌如何ですか? 本日も平常運転の桂 コヒ蔵です♪ 今日は、メタルギアソリッド・ピースウォーカーとユニクロのコラボ企画で実現した UTの発売日です!...

ワルキューレとルフトハンザとフランクフルト

おはようございます。 コヒラー・フォン・コヒシュテンベルク 万年2等兵です。 グーテンターク? 昨日、クルーズ・トムさんが主演の映画「ワルキューレ」を見ました。 ヒトラーの圧政、諸外国との軋轢が深まるドイツ。...

バリバリ編集中です

おはようございます。 コーヒーです。 お待たせしております次回配信ですが、 電器屋Walkerは「音波振動歯ブラシ」を特集します♪ また 電器屋Walker近況報告版の配信も収録済みです。 更に!...

言いにくいことはラップに包んで。

YO! DJ・コヒ蔵だYO! タ、タ、タ Taijiが! Taijiが! ト・ウ・キョ・ウ HA NA RE RU YO! 月曜日、朝からネタが無い事と、Taiji君が東京を離れることを...

自転車と健康と風と

とある人から紹介されて知った「ルイガノ」 高校卒業以来ずっと遠ざかっていた自転車。 私は高校時代にマウンテンバイクを購入して通学に使っていました。 それより以前、高校時代はママチャリでかなりの遠出をしたものです。 そんなこんなで、自分は結構自転車好き。...

寒さの中にも「春」一輪

おさむうございます。 寒いジョークは平気でも、気温の寒さにゃめっぽう弱い! ガクブル司会者 桂 コヒ蔵です(^o^)丿~♪ 「桂」を名乗ってるのは語呂の問題ですが、そろそろ桂一門に怒られそうですw 今朝も寒いでね。...

ニポンサムイデスネ(/_;)

ミナサン、オハヨゴザイマス。 インス島カラ、ヤテキマシタ。 サブーイ・コヒーゾゥ デス。 それにしてもニポンは寒いですネ(/_;) 今年はどうしたんでショー? 昨日、ニュースでコヒ川・コヒステルさんが「野菜高くなってんじゃね?」って言ってるのを聞いて...

Taiji君のバッグ改造計画

趣味でバッグ製作を行っているコヒ蔵です。 これまで合計4個のバッグを作成しましたが、 毎回「もういやだ!」「もうやめる!」と正に「産みの苦しみ」を味わいながらも、 その完成時の喜び、満足感についつい続けておりました。...

ユニクロ、相変わらずやるなw

ユニクロ&ツイッター=UTWEET 相変わらずセンスがいい! 突然ですが、コヒ蔵です(^o^)丿~♪ ユニクロックやユニカレンダーなど、センスの良いウェブサービスを展開している ユニクロですが、今度はツイッターに目を向けたようです。...

カンダンノ・サーッ!

おはようございます。 新年度が始まり、移動やら歓迎会やらいろいろ忙しいのではないでしょうか? この時期、生活が変わったり仕事が変わったりして、緊張が強いられがちです。 起床時間等生活サイクルの変化で体力的にも無理をしているかもしれません。...

0コメント


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

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

開催のお知らせ

詳細はこちら

国際ポッドキャストの日

International Podcast Day Event

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

まとめファンサイト