今回は「送信メールの本文チェック」です。
使い道としては、
1.本文を走査して「添付」という文字を探す
2.「添付」があれば「添付ファイルを付け忘れてませんか?」という
アラートを表示する
とかやって、添付ファイルの付け忘れを防止する機能などが考えられます。
ていうか実際に作りました。この投稿の下の方に置いてあります。
が、それはあとで解説するのでひとまずタイトルどおりに解説を始めます。
さて、メールの送信ウィンドウは以下のようになっており、
メール編集部分のIDは"content-frame"となっています。

この"content-frame"部分の内容を取得するには、以下のような
ロジックを組みます。
document.getElementById('content-frame').contentDocument.body.innerHTML;
この戻り値がメール本文になるので、この文字列に対して
検索を掛ければ、目当ての文字列が本文に含まれるかどうかが
わかります。
ついでに解説しておくと、上の画像にあるように、ファイル添付
エリアの要素IDは"attachmentBucket"となっており、
このIDを使ってファイルが添付されているかどうか判定できます。
具体的には、以下のロジックを実行させれば、ファイルが添付されていない
ときにだけアラートを出すことができます。
// 添付ファイルが存在しないときに例外が発生する
try{
document.getElementById('attachmentBucket').getItemAtIndex(0);
} catch (e){
alert("ファイルが添付されていません");
}
上記2つのロジックをうまいこと組み合わせて、
添付ファイル付け忘れ防止アドオン
をつくりました。よかったら使って下さい。
インストールの際には、右クリックから
ファイルを保存し、ファイル名を
attachfilechecker@attachfilechecker.net.xpi
に変更してください。
このアドオンの仕様は、
・本文中に「送付」または「添付」の文字がある
・かつ、添付ファイルがついていない
という条件下でメールを送信しようとしたとき、
「添付ファイルを付け忘れていませんか?」という
ダイアログが表示されるようになっています。
ただし、
・行頭に">"がある行については判定を行わない
(返信の引用である可能性が高いため)
・Thunderbird2.0系でのみ動作する
・ウィンドウ左上の「送信」ボタン以外に、
"Ctrl + Enter" による送信時にも上記の
チェックを行う
という動作になっています。
1ヶ月くらい自分で使っていたので、バグは
あんまりないはずですが、もしも発見したら
コメントで知らせてもらえれば幸いです。
今回はこんなとこで。
次回は、「キーボードショートカットの上書き方法」
について書きます。
- 関連記事
-
- Lunascapeをインストールしたときに最初にやるべき5つのこと
- Thunderbird のアドオンを作ってみる Part 7 - メール本文チェック
- Webアプリのテストを自動化するアプリ?
- 【再掲】情報は増やすより削れ
スポンサーサイト