単一ファイルとしてマークされたメールをMaildirに追加するにはどうすればよいですか?

単一ファイルとしてマークされたメールをMaildirに追加するにはどうすればよいですか?

Maildirsの命名規則はかなり複雑に見えます。 OutlookのWebインターフェイスからメッセージをダウンロードし、added名前を付けてフォルダに配置してMaildirに追加しましたnew。結果に満足してmbsyncいるようですがmu4e、この習慣を聞くのに苦労しても驚かないでしょう。 Maildirに正しい方法でファイルを追加するプログラムはありますか?理想的には、これらのタスクを実行するために、マイコンピュータで完全なメールサーバーを設定して実行する必要はありません。

答え1

あなたが探しているのは、maildirをサポートするメール配信エージェント(「MDA」)です。複数のプログラムがこれに適しています。

  • procmail確かにこれを行うことは可能ですが、もはや維持されないと思います。どのディストリビューションを使用しても、まだパッケージとして提供される可能性があります。

  • maildrop~から宅配会社メールサーバーはメールをmaildir形式で転送できます。

ほとんどのメールサーバーはmaildir形式のメールボックスへの転送をサポートしていますが、通常はメールサーバーのコンテキスト外で使用できる方法には分割されません。

ウィキペディアまた、いくつかをリストします。


ここで述べた2つのプログラムのマニュアルページを確認してください。どちらの場合も、メッセージを転送する場所を示すフィルタファイルを提供する必要があります。 procmailを使用すると、これをコマンドラインに含めることができます。 stdinのメッセージをmail現在のディレクトリに指定されているMaildir形式のメールボックスに転送したいとします。

procmail -m <(printf ":0\n$PWD/mail/\n") < msg

これを使用してmaildrop実際のファイルを渡す必要があります(フィルタファイルが通常のファイルではない場合は確認して実行されません)。

echo "to $PWD/mail" > filter
maildrop filter < msg

答え2

procmail制限に関する@larsksの答えを確認してくださいmaildrop。どちらもシェルベースのラッパーを必要とする傾向があります。また、どちらも宛先のメールディレクトリが既知の場合は、無関係な強力なフィルタリング機能を備えています。

しかし、言及する価値がある他の2つのツールはとsafecatですmdeliver

safecatそれはおそらく、「Daniel Bernstein教授のmaildirアルゴリズムを実装する」ので、「正しい方法でMaildirにファイルを追加するプログラム」です。 2003年のアルゴリズムは、あまりにも複雑で編集的であると考えられていましたが、私が知っている限り、まだ機能します。 safecat2つの注意事項があります。

  1. そしてディレクトリはコマンドラインで言及されなければなりませんがmaildir/tmp、これは便利ですが重複しているように感じます。maildir/new
  2. コマンドを実行する前に、これらのディレクトリが必要です。

mdeliver(例:mblazeDebianパッケージにある)はとても簡単です。mdeliver /path/to/maildir < msg。 mdeliverと同様に、safecatディレクトリが存在すると予想します。

最後に、電子メールをMaildirディレクトリに配置し、必要に応じて作成するシンプルで軽量でフィルタリングがなく、構成のないメール配信エージェントを探している人は、誰でもこれらのツールの1つに対してシェルラッパーを作成する必要があるようです。

関連情報