「メール管理」(2008/07/24 (木) 01:42:45) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&topicpath(top=トップ)
#contents(fromhere=true)
**フォルダー内の未読メールを一気に既読にしたい
フォルダ内のすべてのメールを既読にするには以下の1行を menus.xmlの<menu name="folder">内に追加。
※Ver.2.9.28以降で有効
><menuitem text="すべて既読" action="MessageMacro" param="@Seen(@True())" />
フォルダビューでフォルダ選択して右クリックして「すべて既読」をぽちっとする。
**マークのON/OFFボタンを作る
以下をtoolbars.xmlのmainframeに追記すればフラグON/OFFボタンができます
><button image="24" action="MessageMacro" text="マーク" param="@If(@Marked(), @Marked(@False()), @Marked(@True()))"/>
**キーボードショートカットでマークのON/OFF
Qmail3は多くのキーボードショートカットが設定されています。
たとえばリストウィンドウでMを押すと、選択されているメッセージにマークをつけます。
これは keymap.xml の<keymap name="ListWindow">セクションで次のように設定されています。
><action name="MessageMark">
><key key="M" ctrl="true"/>
></action>
マークを取り消したいときは、shift+ctrl+Mか、いちいち右クリックしてコンテキストメニューからマークを消したりする必要があり面倒です。下記のように変更するとctrl+Mを押すとマークフラグがON→OFF→ONを繰り返します。
><action name="MessageMacro" param="@If(@Marked(),@Marked(@False()),@Marked(@True()))">
><key key="M" ctrl="true"/>
></action>
同様に削除フラグのON/OFFなど、色々なフラグに応用できます。
**削除するとき削除マーク付けるのではなく一気に削除したい
toolbars.xmlの削除のところを下記に置き換え
><button image="5" action="ToolInvokeAction" param="EditDelete|EditClearDeleted" text="削除"/>
本家FAQ参照
http://q3.snak.org/doc/HowToClearDeletedMessage.html
**開封通知を送るにはどうすれば良いですか?
■本家FAQ
http://q3.snak.org/doc/HowToSendReceiptNotification.html
**返信時に元メールと同じフォルダに送信メールを保存する
1) 全てのアカウントで適用
qmail.xmlのGlobal/SaveSentInSameFolderを1にする。
参考:http://snak.tdiary.net/20061229.html#p01
2) 特定のアカウントで適用
各アカウントフォルダにあるaccount.xmlのGlobal/SaveSentInSameFolderを1にする。
実際には<section name="Global">の中(下)に
<key name="SaveSentInSameFolder">1</key>
を追記します。
**受信メールの受信者をアドレス登録した名前で表示したい
ドキュメントを見てviews.xmlを変更する。
■本家ドキュメント参照
http://q3.snak.org/doc/LookupAddressBookFunction.html
**重複メール削除
振り分けルールで設定する
>@Progn(@Variable('message-id', '', @True()), @Set('ret', @Contain($message-id, Message-Id)), @Set('message-id', @Concat($message-id, Message-Id), @True()), $ret)
**重複メール削除テンプレート
振り分けルールでの削除とほぼ同じ事をしていますが、削除メールの内容をメール画面に表示します。
create_CutDuplicatedMessage.template
>Folder Name: {@Folder()}
>{
>@Progn(
>@Set('n', 0, :GLOBAL),
>@ForEach(
>@Messages(@Folder()),
>@Progn(
>@If(
>Message-Id,
>@Set('id',Message-Id),
>@Set('id',@Concat(%Date,'\t',%From))
>),
>@If(
>@Contain($ids,$id),
>@Progn(
>@Set('dup',@Concat($dup,'\n',$id)),
>@Set('n',@Add($n,1)),
>@Delete()
>),
>@Set('ids',@Concat($ids,'\n',$id))
>)
>)
>),
>@Concat('削除件数 :', $n, ' 件\n---------------------------------------\n',$dup)
>)
>}
**重複メールを高速削除する方法
1. 検索の基本タブで「マクロ」「新しい検索フォルダを作成」を選択
2. 「検索文字列」を @True()、「フォルダ」は全てのフォルダを選択。必要に応じて「サブフォルダも検索」をチェックする。
3. あっという間に検索できますが、新しく出来た検索フォルダを右クリックして「重複メール削除」と名前を変更。
4. 「ツール」-「オプション」-「振り分け」で新規のルールを作成します。
アカウント:未指定 フォルダ:検索/重複メール削除
追加タブで次のルールを入れる。
>@Progn(@Variable('message-id','',@True()),@Set('ret',@Equal(Message-Id,$message-id)),@Set('message-id',Message-Id,@True()),$ret)
動作:移動 アカウント:未指定 フォルダ:ゴミ箱 使用:「手動」のみをチェック
5. 高速削除をするため、検索フォルダで表示されたメールを(送信)日付順にソートします。重複メールは(送信)日付も同じはずだという前提です。
6. フォルダを選択したら「メッセージ」-「振り分け」を選べば重複メール削除を開始します。
※ Message-IDが同じでもDateが異なれば重複メールとみなさない方法です
※ Message-Idを使わず%Dateと%Fromだけ、或いは%Dateだけで同一メール判定するという禁断の技もありますが、誤削除がないとは言えず記載はしません。因みに、Message-Idはキャッシュされておらず、いちいちメールデータを読みにいくので遅くなります。
**メールが消えた!
■本家ドキュメント参照
http://q3.snak.org/doc/Maintenance.html
**メールを受信日時でソートしたい
本家バグトラックのやり方。
http://q3.snak.org/bts/guest.cgi?project=Q3&action=view_report&id=1108
ただ、これではメール数が多いと処理に時間掛かるため、IDでソートするほうが早くなります。
[表示]-[カラムのカスタマイズ]で
>タイトル:ID (*)
>タイプ :ID
>幅 :40 (*)
>ソート :数値
として、IDでソートします。(*)はお好みで変更してください。
&topicpath(top=トップ)
#contents(fromhere=true)
**フォルダー内の未読メールを一気に既読にしたい
フォルダ内のすべてのメールを既読にするには以下の1行を menus.xmlの<menu name="folder">内に追加。
※Ver.2.9.28以降で有効
><menuitem text="すべて既読" action="MessageMacro" param="@Seen(@True())" />
フォルダビューでフォルダ選択して右クリックして「すべて既読」をぽちっとする。
**マークのON/OFFボタンを作る
以下をtoolbars.xmlのmainframeに追記すればフラグON/OFFボタンができます
><button image="24" action="MessageMacro" text="マーク" param="@Marked(@Not(@Marked()))"/>
**キーボードショートカットでマークのON/OFF
Qmail3は多くのキーボードショートカットが設定されています。
たとえばリストウィンドウでMを押すと、選択されているメッセージにマークをつけます。
これは keymap.xml の<keymap name="ListWindow">セクションで次のように設定されています。
><action name="MessageMark">
><key key="M" ctrl="true"/>
></action>
マークを取り消したいときは、shift+ctrl+Mか、いちいち右クリックしてコンテキストメニューからマークを消したりする必要があり面倒です。下記のように変更するとctrl+Mを押すとマークフラグがON→OFF→ONを繰り返します。
><action name="MessageMacro" param="@Marked(@Not(@Marked()))">
><key key="M" ctrl="true"/>
></action>
同様に削除フラグのON/OFFなど、色々なフラグに応用できます。
**削除するとき削除マーク付けるのではなく一気に削除したい
toolbars.xmlの削除のところを下記に置き換え
><button image="5" action="ToolInvokeAction" param="EditDelete|EditClearDeleted" text="削除"/>
本家FAQ参照
http://q3.snak.org/doc/HowToClearDeletedMessage.html
**開封通知を送るにはどうすれば良いですか?
■本家FAQ
http://q3.snak.org/doc/HowToSendReceiptNotification.html
**返信時に元メールと同じフォルダに送信メールを保存する
1) 全てのアカウントで適用
qmail.xmlのGlobal/SaveSentInSameFolderを1にする。
参考:http://snak.tdiary.net/20061229.html#p01
2) 特定のアカウントで適用
各アカウントフォルダにあるaccount.xmlのGlobal/SaveSentInSameFolderを1にする。
実際には<section name="Global">の中(下)に
<key name="SaveSentInSameFolder">1</key>
を追記します。
**受信メールの受信者をアドレス登録した名前で表示したい
ドキュメントを見てviews.xmlを変更する。
■本家ドキュメント参照
http://q3.snak.org/doc/LookupAddressBookFunction.html
**重複メール削除
振り分けルールで設定する
>@Progn(@Variable('message-id', '', @True()), @Set('ret', @Contain($message-id, Message-Id)), @Set('message-id', @Concat($message-id, Message-Id), @True()), $ret)
**重複メール削除テンプレート
振り分けルールでの削除とほぼ同じ事をしていますが、削除メールの内容をメール画面に表示します。
create_CutDuplicatedMessage.template
>Folder Name: {@Folder()}
>{
>@Progn(
>@Set('n', 0, :GLOBAL),
>@ForEach(
>@Messages(@Folder()),
>@Progn(
>@If(
>Message-Id,
>@Set('id',Message-Id),
>@Set('id',@Concat(%Date,'\t',%From))
>),
>@If(
>@Contain($ids,$id),
>@Progn(
>@Set('dup',@Concat($dup,'\n',$id)),
>@Set('n',@Add($n,1)),
>@Delete()
>),
>@Set('ids',@Concat($ids,'\n',$id))
>)
>)
>),
>@Concat('削除件数 :', $n, ' 件\n---------------------------------------\n',$dup)
>)
>}
**重複メールを高速削除する方法
1. 検索の基本タブで「マクロ」「新しい検索フォルダを作成」を選択
2. 「検索文字列」を @True()、「フォルダ」は全てのフォルダを選択。必要に応じて「サブフォルダも検索」をチェックする。
3. あっという間に検索できますが、新しく出来た検索フォルダを右クリックして「重複メール削除」と名前を変更。
4. 「ツール」-「オプション」-「振り分け」で新規のルールを作成します。
アカウント:未指定 フォルダ:検索/重複メール削除
追加タブで次のルールを入れる。
>@Progn(@Variable('message-id','',@True()),@Set('ret',@Equal(Message-Id,$message-id)),@Set('message-id',Message-Id,@True()),$ret)
動作:移動 アカウント:未指定 フォルダ:ゴミ箱 使用:「手動」のみをチェック
5. 高速削除をするため、検索フォルダで表示されたメールを(送信)日付順にソートします。重複メールは(送信)日付も同じはずだという前提です。
6. フォルダを選択したら「メッセージ」-「振り分け」を選べば重複メール削除を開始します。
※ Message-IDが同じでもDateが異なれば重複メールとみなさない方法です
※ Message-Idを使わず%Dateと%Fromだけ、或いは%Dateだけで同一メール判定するという禁断の技もありますが、誤削除がないとは言えず記載はしません。因みに、Message-Idはキャッシュされておらず、いちいちメールデータを読みにいくので遅くなります。
**メールが消えた!
■本家ドキュメント参照
http://q3.snak.org/doc/Maintenance.html
**メールを受信日時でソートしたい
本家バグトラックのやり方。
http://q3.snak.org/bts/guest.cgi?project=Q3&action=view_report&id=1108
ただ、これではメール数が多いと処理に時間掛かるため、IDでソートするほうが早くなります。
[表示]-[カラムのカスタマイズ]で
>タイトル:ID (*)
>タイプ :ID
>幅 :40 (*)
>ソート :数値
として、IDでソートします。(*)はお好みで変更してください。
表示オプション
横に並べて表示:
変化行の前後のみ表示: