ローカルmaildirの受信トレイと同期し、+を使用してofflineimap
スパムフィルタリングと並べ替えを実行した後、メールストアでタグメールを使用します。fdm
bogofilter
notmuch
最近まで、私は次のシェルコードを使用して、特定の条件に従ってメッセージにタグを付け、再タグ付けしました。
notmuch new
tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent -- folder:/Sent/
-inbox +archive -- folder:/Archive/
-inbox +junk -- folder:/Junk/
+unsorted -- folder:/INBOX.Unsorted/
-unsorted -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
END_BATCH
これにより、またはフォルダ内のすべてのメッセージからラベルが削除され、3つのinbox
フォルダすべてに適切なラベルでメッセージラベルが再割り当てされます。次に、メッセージがフォルダ(分類できないメッセージを入れたフォルダ)にあるかどうかに応じて、メッセージを表示または非表示にします。最後にアーカイブされたメッセージは次に表示されず、並べ替えられていないメッセージは次に表示されないことを確認しました。Sent
Archive
Junk
INBOX.Unsorted
bogofilter
unread
はいでマークしてくださいunread
。
これは素晴らしい作品です。
5つの異なるアカウントでメールを受け取るので、フォルダ名に基づいてメールに次のラベルを追加したいと思いますaccount-somename
。account-othername
notmuch new
tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent -- folder:/Sent/
-inbox +archive -- folder:/Archive/
-inbox +junk -- folder:/Junk/
+unsorted -- folder:/INBOX.Unsorted/
-unsorted -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
+account-acc1 -- folder:/acc1/
+account-acc2 -- folder:/acc2/
+account-acc3 -- folder:/acc3/
+account-acc4 -- folder:/acc4/
+account-acc5 -- folder:/acc5/
END_BATCH
タグが期待どおりに機能しているようですが、副作用は次のとおりです。新しいメッセージは古いメッセージとして表示されます。(maildirのnew
ディレクトリからこのcur
ディレクトリに移動します。)これは、最終的に受信mutt
トレイの新しいメッセージが検出されないことを意味します(私がmaildir_check_cur
これをconfigで設定しない限りmutt
、これは非常に良い解決策ではないと思います)。
これが起こるのを防ぐために、なぜ何ができるのかわかりません。
私のnotmuch
設定:
[database]
path=/home/myself/Mail/inboxes
[user]
name=myname
[email protected]
[email protected]
[new]
tags=inbox;unread
[search]
[maildir]
syncronize_flags=true
[index]
header.List=List-Id
答え1
notmuch
これは、どのメールファイルがどのMaildirサブディレクトリに入るべきかについては賢明であり、同じことが緩すぎるofflineimap
ために発生するようです。
ユーティリティは期待どおりにofflineimap
メールメッセージを宛先Maildirのnew
ディレクトリに渡しますが、ファイル名には:2,
「このメールメッセージにフラグはありません」を意味するファイル名のサフィックスがあります。通常、新しいメッセージファイル、見えない、または送信したばかりのメッセージファイルには、ユーザーのメールクライアント(MUA)によって追加されるファイル名のサフィックスがあってはなりません。
Maildirフラグを同期するように設定するとnotmuch
(おそらくそれをしたい場合)、メッセージファイルにファイル名のサフィックス:2,
があることがわかります。したがって、ユーザーはMUAでメッセージを表示する必要がありますが、読んでいないとします。まだ(S
後でサフィックスにカンマがあります)。その後、メッセージファイルを適切なcur
ディレクトリに移動します。したがって、メールmutt
クライアントはこれを「古い」(見たが未読)としてマークします。
解決策は行動を修正することですがofflineimap
、バグとして受け取り、2015年に却下されました。。
私の解決策はofflineimap
方程式からそれを取り除くことでした。代わりに、私はすべての電子メールを受信するために使用しますfdm
。後で他のIMAP同期ソリューション(mbsync
?)を検討することもできます。メールサーバーに数週間分のメールを残しておくと、ホストからそのメールにアクセスするのに適しているからです。