2005年02月02日

Outlook Expressのメッセージルールをいじる

 登録していないのに来るメルマガ、本当にうざい。ということで届いたメルマガのアドレスをすべて抜き出してMessageRuleのアドレス欄にぶちこみ、瞬殺することにする。便利なツールも無いし応急処置的にレジストリをいじることになるので、この作業を行った事によるいかなる損害に対してもこちらでは責任を持たない。ウェブマスターの環境はWindowsXP ProとOutlook Express 6.0の組み合わせなので、他の環境の場合は微妙にフォルダの位置とかが違ってて作業出来ない場合があると思う。95・98・meはたぶん無理だろう。

 まず始めにメールから送信元アドレスを抜き出さなくてはいけない。OutlookExpressのローカルフォルダに「メルマガ」というフォルダを掘り、手間はかかるが不要なメルマガを全部そこへドラッグ&ドロップで移動しておく。

 次にメールを抜き出すソフトを用意する。ネットを徘徊すると「AtOeTxt」というソフトを発見、シンプルで具合も良さそうなのでダウンロードしインストール。起動したら、まず変換フォルダとOEフォルダを選ぶ。変換先はデスクトップでOK、OEフォルダはたいがい

C:\Documents and Settings\[ユーザー名]\Local Settings\Application Data\Identities\ [数字が並んでいるフォルダ]\Microsoft\Outlook Express\

 ここだ。LocalSettingsフォルダは隠れフォルダなので、もし表示されなかった場合はマイコンピューターから「ツール」→「フォルダオプション」→「表示」→「すべてのファイルとフォルダを表示する」を選択すること。上のフォルダを選択後、下にdbxファイルの一覧が表示されれば成功だ。一覧から「メルマガ.dbx」を選択しておく。次に「フォルダーごと」のチェックだけ残し、他のチェックは外して「実行」ボタンをクリック。実行中は作業中等の表示が全くでないので「バグったか?」と思うかもしれないがちゃんと作業しているので大人しく待つこと。

 デスクトップに「AtOeTxt」というフォルダが出来てるはずなのだがあるだろうか? この中にメルマガ.txtというファイルが入っているのだが、このファイルの中に「メルマガ」フォルダに入っているメールの内容全部が入っているのでここから送信元アドレスだけを抜き出す。面倒なのでここでは秀丸エディタのマクロを使う、内容は以下の通り。秀丸エディタで新規作成して下のマクロをコピペしてください。キーボードをそのまま取り込んだのでグチャグチャですが機能するのでOKということで。

	beginsel;
	searchdown "from   :" , regular, nocasesense;
	if( ! result )  beep;
	searchdown "<" , regular, nocasesense;
	if( ! result )  beep;
	right;
	delete;
	golineend;
	backspace;
	right;

 貼り付けたら「マクロ1.mac」とでも名前を付けてデスクトップあたりに保存。これでマクロが1個完成。次に秀丸エディタで「メルマガ.txt」を開き、「マクロ」→「キー操作の読込み」の「参照」でさっきのマクロ.macを選択する。あとはカーソルを一番左上に持って行ってからSHIFTを押しながらF2キーを押しっぱなし。高速でよけいな部分が消されていく、はず・・。最後まで終わったらメールアドレス以外の残りかすは手動で消して下さい。自分のメールアドレスが入っている場合もあるのでそれも検索して削除すること。

 次に重複チェック、同じメールアドレスがいっぱいあるはずなのでそれを取り除きます。が、これは難しいな・・・、どうしようか・・・・・。とりあえずExcelを使おう、秀丸にあるデータをすべて範囲指定してコピー、Excelを起動して適当に貼り付け。貼り付けた列を選んで「データ」→「フィルタ」→「フィルタオプションの設定」を開き、「重複するレコードは無視する」をチェックし、OKをクリック。これで重複は無くなったはずなのでこれをコピーして秀丸に貼り付け。

 ふぅ・・・、なんか面倒だな・・・・、まぁここまできたのだから続き。まずMicrosoftとかメールアドレスを変えながら送信してくるアドレスは@以降だけ残して削除。

10_8904_qxxxxxxxxxxxxxxxx@newsletters.microsoft.com

 こんなだったら 

@newsletters.microsoft.com

 こういう風に変更して同じようなのは削除してよろしい。

 次はこいつをレジストリにぶち込めるように加工するマクロを作成する。作成方法は先ほどと同じ、エディタで新規作成して下のマクロを入れて保存するだけ。こいつも手抜きだなぁ・・・って感じの作りだかどうでもいいマクロなのでこれでOK。

※この作業をボタン一発で変換してくれるCGIを公開されている方がいたのでリンク。ありがたい! http://cx20.main.jp/hatena/file/upload/hatena_1114247150_answer.html 上の窓に変換したいルールを入力し、変換するとregファイルに入れる文字列が生成されます。下の適当マクロなんか使わずにここのCGIを利用下さい。利用した方は下のマクロを飛ばし、※から再開してください。(2005/5/15追加)

	while(-1)

{ beginsel;
right;
cut;
endsel;
beginclipboardread;
$a=getclipboard;

if($a=="\n")

{ insert "00,";
}

else

{ insert hex(ascii($a))+",";
}
}

 こいつはマクロ2.macとでも保存して貰うか。さぁ、こいつを実行するのだが、こいつには終了判断を入れてないので延々と続いてしまうのだが、終わったなというところでESCで止めてほしい。「マクロ」→「キー操作の読み込み」でいま作ったファイルを指定したら「OK」で読み込み、SHIFT+F2でスタートだ。0,0,0,0,0,0,0,0,0,となったら停止させ、最後の00,0,0(つまり0が3つ)だけ残してそれ以降は削除してくれ。スタートする前にカーソルを一番左上に置いておくこと。

※CGIを使った方はここから。

 次にレジストリを編集するためにあらかじめメッセージルールを作っておく。OutlookExpressの「ツール」→「メッセージルール」→「メール」を順に選びメッセージルール画面を開く。

 「新規作成」をクリック、ルールの1を「送信者にユーザーが含まれている場合」をチェック、ルール2に「指定したフォルダに移動する」、もしくは「削除する」をチェックしさらに「ルールの処理を中止する 」をチェック。3の「ユーザーが含まれている」部分をクリックしてとりあえず適当なアドレスを登録、まぁ「12345」でOK、「追加」をクリックして「OK」を押し閉じる。次に2で「指定したフォルダに移動する」を選択した場合は3の「指定したフォルダ」をクリックし、異動先に先ほど作った「メルマガ」フォルダを指定。4のルール名にまぁ適当に「メルマガ」とでも入れておく。

 さて、レジストリからルール部分を書き出します。「スタート」→「ファイル名を指定して実行」→「Regedit」と入れ「OK」をクリック。レジストリエディタが開いたら、

 

HKEY_CURRENT_USER\Identities\[数字の羅列]\Software\Microsoft\Outlook Express\5.0\Rules\Mail\

 をたどって開いていき、ルールが1つしか登録されていない場合は000というフォルダがあると思う、ルールがすでに登録してある場合は000から順にクリックし、「name」という項目に先ほど入れた「メルマガ」と書いてある部分を探し出す。探し出したらその中の「Criteria」→「000」の順に開き、「000」を選択した状態でメニューの「ファイル」→「エクスポート」を選択。ruleとでも名前を付けてデスクトップに保存する。

 保存したらこいつをまたエディタで開き、「"Value"=hex:」以降を消去。消去したらここに先ほどのマクロで作成した数字の羅列をコピーする。

 

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Identities\[数字の羅列]\Software\Microsoft\Outlook Express\5.0\Rules\Mail\[数字]\Criteria\000]
"Type"=dword:0000000c
"Logic"=dword:00000000
"Flags"=dword:00000000
"ValueType"=dword:00000041
"Value"=hex:6D,61,73,74,65,72,・・・・

 こんな感じになるはずだ。これで完了、保存してください。さぁ、それでは実行。OutlookExpressをいったん終了し、今作ったrule.regファイルをダブルクリックすると「変更します、いいですか?」みたいなメッセージがでるので「OK」を選択。

 これで目出度く今まできていたメルマガのアドレスがすべて一括でルール登録された。あとは青申で年度末までにためまくった伝票を徹夜で入れてるような人みたいにならないように、いらないメルマガが来るたびにちゃんとメッセージルールにアドレスを登録していけばOKだ。

 ふぅ・・・、さすがに疲れた。ここまで書いて思ったのだがこういう作業を自動でしてくれるフリーのソフトって探せばあるんじゃないのかな?Spam対策みたいなOutlookExpressの拡張ソフトがちらほらと落ちていたし。もしあったら無駄だよね、この作業は・・しかも面倒だし。 まぁ発作的に作業し始めたのでその手順を書き残したということにして便利なユーティリティは探さないでおく・・・。

Posted by hide at 2005年02月02日 18:31 | トラックバック
トラックバック
Title: メールの振り分けを簡単に。
Excerpt: ウィルスメールの如く、鬱陶しいエロスパムがうざうざとやってきています。 土日とも
From: PC与太話@たぬろぐ。
Date: 2005.06.07
コメント
コメントする









名前、アドレスを登録しますか?