64,000 個のメールを含む IMAP フォルダがあります。年ごとに保管したいです。どうすればいいですか?
答え1
おそらく最も簡単な方法は、Tタグモード機能(ここでバインディング)を使用して1年分のメッセージにタグを付け、タグプレフィックス(;sここ)を使用してメッセージを保存してフォルダに配置することです。
Muttにはいくつかの日付パターンの一致があります(残念ながら、すべてdd / mm / yyyy形式の日付を使用します)。これmutt マニュアルの「パターン修飾子」セクションすべてリストされていますが、役に立つのは~d
(送信日、日付:ヘッダー、送信者によって指定されているため、なりすまし)、~r
(受信日)です。 2018年に受信されたメッセージの例:~r01/01/2018-31/12/2018
通常、年間アーカイブを実行する場合は、次の行が必要になることがあります。
save-hook ~r01/01/2019-31/12/2019 =Archives/2019
save-hook ~r01/01/2020-31/12/2020 =Archives/2020
⋮
あなたの設定では(残念ながら、数年ごとに数行を追加しない方法が見つかりませんでした)。
もう1つの方法は、Muttの外部からIMAPサーバーにアクセスできることです。たとえば、Dovecot を実行している IMAP サーバーへのシェル アクセス権があるため (直接実行するため)、doeveadm
年間 cron ジョブで使用できます。
this_year=$(date +%Y)
last_year=$((this_year-1))
#⋮
newbox="Sent/$last_year"
doveadm mailbox create "$newbox" || true
doveadm -v move "$newbox" mailbox 'Sent' SENTBEFORE "$this_year-01-01" SENTSINCE "$last_year-01-01"