mutt - このようなメッセージをフィルタリングします。

mutt - このようなメッセージをフィルタリングします。

Gmailの「このタイプのメールフィルタリング」機能を複製したいと思います。デフォルトでは、私はmuttに*キーをバインドし、同じ送信者(または;接頭辞付きの送信者)が送信したメッセージの表示を「制限」できるようにしたいと思います。

macro index * "<enter-command>set sender=display-address<enter><limit>$sender<enter>" "Filter Messages Like"

私は上記のマクロアプローチを試していますが、送信者アドレスをmuttの変数として読み取るのに問題があります。マクロ経済の発展は正しい方向ですか?メッセージヘッダを変数として読み取る正しい方法は何ですか?

ベストアンサー1

残念ながら、関数内の変数を埋めることは不可能です。関数を呼び出すことも、<display-address> :push @neomutt:exec display-addressでluaを使用することもできますが、下のバーに表示されますが、変数は空です。

今日#neomutt IRCでこの質問をした後、現在最良の選択は一時ファイルを使用することです。

  • このマクロはメッセージを返すformailにパイプし、from headerそれをawkに渡して電子メールアドレスのみを取得し、出力を/ tmp / senderにリダイレクトします。
  • /tmp/sender の内容を使用して $my_sender 変数を設定します。
  • $my_sender によるインデックスの制限
macro index,pager * \
"<pipe-message>formail -X from:|awk -F'[<>]' '{print $2}'>/tmp/sender<enter>\
:set my_sender=\"`cat /tmp/sender`\"\n\
l~f \"$my_sender\"\n" \
"Filter Messages Like"

要件:Eメール

または、他のコマンドを使用してメッセージから電子メールアドレスを解析することもできます。


編集:neomuttセッションごとに1回だけ機能します。二重引用符で囲む必要があるため、マクロ内の変数の拡張に問題がある可能性があります。したがって、まだ可能ではありません。少なくとも不可能です。

おすすめ記事