3. 実際の使用例

3.1 テンプレートの場合

*.templateファイルへマクロを記述すると、QMAIL2からそのテンプレートファイルが呼び出された時(新規送信メール作成・返信・転送など)に実行され、その結果がクリップボード経由でエディタへ渡されます。
またmsg.templateの場合は、メールのプレビュー画面、メールビューウインドウへメールの内容が表示されるときに実行されその結果が反映されます。
テンプレートではマクロを実行単位毎に{ }で囲みます。
また、コメントはこのマクロ実行単位内、つまり'{'から'}'の間のみ有効です。

テンプレートでは、返信・転送やメールビューへの表示でその元になるメールからデータを取り込み表示する場合、テンプレートに書かれた内容をそのまま表示する場合、マクロにより生成したデータを表示する場合があります。

テンプレートの名前は、新規メール作成時はnew.template、返信時はreply.template、転送時はforward.templateです。
それ以外のテンプレートは[Mail]-[Select Template...]またはCキーで[Select Template]ダイアログを開き、そこから該当するテンプレートを選択して呼び出しますが、名前がreply_*.templateの場合は元メールのRepliedフラグが、forward_*.templateの場合は元メールのForwardedフラグがonになります。
また、メールビュー画面等でメールを表示させる場合は[View]-[Select Template...]で選択したテンプレートが利用されます。

また、同じ名前のテンプレートが複数存在する場合は下記の順に検索されます。
reply.templateの場合
1. アカウントのディレクトリのreply_[カレントのフォルダID].template
2. アカウントのディレクトリのreply.template
3. メールボックスディレクトリのreply.template

(*) このマニュアルではショートカットキーについてはデフォルトの.keymapファイルに合わせて表記します。
従って.keymapファイルを書き換えている方はご自分の設定に従って読み替えて下さい。
また、マニュアル上クリックと表現している部分はWindowsCE機等のタッチパネルではタップと読み替えて下さい。

目次へ


3.1.1 実例(1)

QMAIL2に付属のreply.templateとreply_all.templateのサンプルを例に説明します。(最新版のQMAIL2に付属のものとは多少異なる場合もあります)
サンプルのテンプレートで記述されているマクロの意味を理解した上で、ご自分の利用方法にあったテンプレートを作成してみて下さい。

(1) reply.template

(2) reply_all.template

目次へ] [この章の先頭へ


3.1.2 実例(2)

さらにいろいろな使い方を例を挙げて説明します。

(1) Identityにより署名を切り替える(新規メール作成の場合)

(2) Identityにより署名を切り替える(返信などの場合)

(3) Toヘッダの有無をチェックして表示する

(4) サブアカウントでメールアカウントを管理している場合

(5) @Load()を利用して署名やテンプレートを切り替える場合

目次へ] [この章の先頭へ


3.1.3 テンプレートの活用

テンプレートはメールの作成・返信・転送・表示以外にも利用できます。
ここではちょっとした活用方法をご紹介します。
ここで紹介するテンプレートはこのマニュアルに同梱していますので自分用に変更するなどしてご自由にお使い下さい。

(1) HTMLメールからHTMLファイルを作る

(2) 選択範囲のみ引用して返信する

(3) MLのメールは必ずMLに返信する

(4) メールの各種情報表示

目次へ] [この章の先頭へ


3.2 振り分けルールの場合

振り分けルールは各アカウントのディレクトリにある.rulesファイルに以下の書式で記述します。

検索式 <Tab> 振り分け先フォルダ名 [<Tab> オプション]

検索式を設定するために 2. 関数リファレンス に書かれている関数のうち@AddressBook()/@AddressBook2()/@Clipboard()/@ParseUrl()以外の関数が利用できます。
検索式の戻り値が真となった場合にそのメールを振り分け先フォルダへ移動します。

フォルダを階層化している場合、振り分け先フォルダ名は階層ごとに'/'で区切って記入します。
つまり、'親フォルダ名/子フォルダ名/孫フォルダ名/...'という感じです。

また、別のアカウントのフォルダへ振り分ける場合は、//アカウント名/を先頭に付加します。
つまり、'//アカウント名/親フォルダ名/子フォルダ名/孫フォルダ名/...'という感じです。また、'.'を指定すると現在のフォルダを指します。

オプションとしては以下のものがあります。

振り分けルールはフォルダ毎に設定可能で、その場合は[フォルダID].rulesという名前で作成し、振り分け時には[カレントのフォルダID].rulesがあればそちらを実行します。

この項では実際にメールの振り分けを行う際によく使うパターンを例示します。

目次へ] [この章の先頭へ


3.2.1 単一の条件による振り分け

(1) Subjectに特定の文字列が付加されているメールを振り分ける場合

(2) 特定のヘッダが存在するメールを振り分ける場合

(3) 既読のメールを振り分ける場合

(4) 特定のヘッダの内容で振り分ける場合

(5) 経過日数で振り分ける場合

(6) 特定の人からのメールを自動転送する場合

(7) メールの余計なヘッダを取り除きコンパクトにする場合

目次へ] [この章の先頭へ


3.2.2 複数の条件による振り分け

(1) 既読かつSubjectに特定の文字列が付加されているメールを振り分ける場合

(2) 不要なメールをTrashへ振り分ける場合1

(3) 不要なメールをTrashへ振り分ける場合2

(4) 一定期間経過した既読メールをTrashへ振り分ける場合

以上のように複数の検索式を@And()や@Or()で結合してしまうのが一般的な使い方ですが、ほとんどの関数が利用可能ですので必要であれば更に複雑な検索式を使うことも可能です。

目次へ] [この章の先頭へ


3.3 検索でのマクロ利用

[Edit]-[Search...](Ctrl+F)で[Search]ダイアログを開き、検索を行う際に'Macro'にチェックし、検索文字列の代わりにマクロを入力することでマクロを利用した検索が行えます。
この場合、マクロは振り分け時の検索式と同じように入力します。

本文に'QMAIL'という文字列を含むメールを取り出す場合は、

ある日付の既読メールだけを取り出す場合は、

マクロを利用することで、より複雑でより細かな検索が可能になります。

目次へ] [この章の先頭へ