UnixスクリプトからDovecotメールボックスに電子メールを送信する簡単な方法は何ですか?

UnixスクリプトからDovecotメールボックスに電子メールを送信する簡単な方法は何ですか?

Linux(Debian 10)システムでは、さまざまなスクリプトを使って自分自身に電子メールを送信しようとしています。私の考えは、MTA設定の複雑さを避けるために、PostfixなどのMTAの代わりにDovecotをインストールすることでした。私が望むのは、スクリプトから奇妙なEメールを削除してから、Thunderbirdを使用してマイメールサーバーに接続し、そのEメールを抽出することです。

しかし、私は自分の電子メールサーバーを操作し、そのサーバーからスクリプトを送信する方法は/usr/sbin/sendmail

たとえば、ローカルユーザーメールボックスから電子メールを検索できるようにDovecotを正常に設定したとします。 POP3、Unixスクリプトからこれらのローカルメールボックスに電子メールを送信する最も簡単な方法(デフォルトでは最小構成)は何ですか?完全なMTAや理想的には他のものをインストールするのを避けたいです。私は次のようなものが欲しい:

/usr/sbin/sendmail "[email protected]" <<EOF_emailContent
(email here)
EOF_emailContent

ベストアンサー1

基本的な問題は、MTA がないと、これらのメールボックスに電子メール アドレスがないことです。それらはディスク上のファイルにすぎません。 Dovecotはメールアドレスを知る必要はありません。

MTA(postfixなど)とDovecotの間の一般的な配置は、MTAとDovecotの両方が同じレイアウトを期待するように構成されていることです。メールボックスファイルまたはメールディレクトリ目次。しかし、MTAとDovecotのマッピングは非常に異なります。

  • Dovecotは次のことを理解しています。ユーザー読み書きするメールボックス
  • MTAは何を知っていますか?メールアドレスルーティングされるメールボックスです。

に送信された電子メールが[email protected]ユーザーに送信されると仮定できます。これは、MTAがボブのメールボックスへのbobパスを知っているために発生します。その後、IMAPまたはPOP3を介してログインすると、DovecotはbobのEメールアドレスが何であるかを知ることができます。[email protected]/home/bob/.mailbob/home/bob/.mail

...しかし、MTAは電子メールを[email protected]Bobのメールボックスにルーティングすることもできます。[email protected]Bob/home/mary/.mailが会社を辞め、彼の後任者が彼の電子メールを受け取った瞬間が来るかもしれません。それは完全にMTAが決定することです。

したがって、MTA がないとメールを受信トレイにルーティングすることはできません。


より簡単なMTAもあります。 Postfixは設定するのが非常に難しく、誤ってMTAを誤って設定し、スパマーによって乱用される危険を冒したくない人はいません。

U&Lに関するもう一つの同様の質問に注目します(重複ではありませんか?)。 メールをローカルに転送するための最小MTA(cron用)?


自分でやりたいのなら、maildirとmboxのフォーマットはとても簡単です。 maildirを使用する方がはるかに安全です。 maildirに転送するのは、tmpディレクトリに書き込んでからnewディレクトリに移動(名前を変更)するのと同じくらい簡単です。

もちろん、これらの電子メールは適切なヘッダーを含むフォーマットされている必要がありますFrom: To: Subject: Date:。例は で確認できます。RFC 5322

おすすめ記事