メール管理


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


フォルダー内の未読メールを一気に既読にしたい

フォルダ内のすべてのメールを既読にするには以下の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="削除"/>

開封通知を送るにはどうすれば良いですか?


返信時に元メールと同じフォルダに送信メールを保存する

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でソートします。(*)はお好みで変更してください。

サイト内検索

更新履歴

取得中です。

ツール