September 11, 2015

E-MailRelayでメール送信中にアドレス確認

最近ボケてきていて、ついうっかりメールを誤送信してしまうことがありました。そんなボケ予防ツールを導入してみました、というお話です。メールアドレスが完全に送信される前にメールアドレスを再チェックする体制を整えました。

体制を整えるにあたって、正規表現で細かくアドレスのルール決めができるツールを探しました。Thunderbirdならそういうアドオンがあるようですが、残念ながらメーラとしてWindows Live Mailにも対応していて欲しいのです。調べてみると世の中にはそういうことをしてくれるアドオンソフトが商用で出回ってはいるようなのですが、できればお金をかけたくありません。

ということでよくよく調べてみると、オープンソースでそういう利用が可能なものがありました。E-MailRelayという、メールサーバとメーラの間に立ってメールを中継してくれるSMTP Proxyで、送信中にフィルタを適用することができるものです。

こんな感じの体制を整えました。問題がありそうなメールアドレスの場合、送信しようとした際に以下のようなダイアログを表示するようにしました。

check_address_dialog.png

またこのダイアログでキャンセルを選ぶと、メーラ側はエラーとなり送信が中止されます。

check_address_when_cancel.png

僕が望む機能は、アドレスの確認をし問題がありそうならダイアログを開くRubyスクリプト( check_address.rb)を、送信中継中に起動するバッチファイル(emailrelay-start.bat)でE-MailRelayを起動することで実現しました。以下では例として、メールサーバがsmtp.forward.comにあり、@example.com以外のメールアドレスについて確認を要求するようにしています。

E-MailRelayは、アドレスのチェック以外にコンテンツに対してフィルタを適用したりなど、いろいろな使い方ができます。また今回は僕が慣れているということでRuby(さらにcygwinのRuby!)を使いましたが、別にフィルタプログラムはなんでもよく、ネイティブコードの他、Windows Script Host(WSH)が対応しているJavaScript等で記述することもできます。

※その後、一部の環境でエラーがでることがわかりました。スクリプトをアップデートしました。

22:31 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/932
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。