古いものとしてマークするには、メールに「notmuch」と表示します。

古いものとしてマークするには、メールに「notmuch」と表示します。

ローカルmaildirの受信トレイと同期し、+を使用してofflineimapスパムフィルタリングと並べ替えを実行した後、メールストアでタグメールを使用します。fdmbogofilternotmuch

最近まで、私は次のシェルコードを使用して、特定の条件に従ってメッセージにタグを付け、再タグ付けしました。

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フォルダすべてに適切なラベルでメッセージラベルが再割り当てされます。次に、メッセージがフォルダ(分類できないメッセージを入れたフォルダ)にあるかどうかに応じて、メッセージを表示または非表示にします。最後にアーカイブされたメッセージは次に表示されず、並べ替えられていないメッセージは次に表示されないことを確認しました。SentArchiveJunkINBOX.Unsortedbogofilterunreadはいでマークしてくださいunread

これは素晴らしい作品です。

5つの異なるアカウントでメールを受け取るので、フォルダ名に基づいてメールに次のラベルを追加したいと思いますaccount-somenameaccount-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?)を検討することもできます。メールサーバーに数週間分のメールを残しておくと、ホストからそのメールにアクセスするのに適しているからです。

関連情報