cronはなぜMTAを使用してメールを送信しますか?

cronはなぜMTAを使用してメールを送信しますか?

MTA、MUA、MDAの定義を調べました。https://ccm.net/contents/116-how-email-works-mta-mda-muaそしてhttps://en.wikipedia.org/wiki/Email_agent_(インフラストラクチャ)

  • Lubuntuでは、デフォルトの電子メールクライアントはSylpheedであり、多くの人がThunderbirdも使用しています。私の記憶が正しい場合、SylpheedとThunderbirdはどちらもMUAです。

  • 存在するhttps://unix.stackexchange.com/a/479613/674、Stephenは、cronが作業結果を電子メールで送信するためにMTA(postfixやsendmailなど)を使用していると述べました。

私の質問は次のとおりです

  • cronが電子メールを送信するときにMUAの代わりにMTAを使用するのはなぜですか? cronがMUAを使用して電子メールを送信できる場合はどうなりますか?

  • 電子メールを送信するときにMTAの代わりにMUA(SylpheedまたはThunderbird)を使用するのはなぜですか? MTAを使用して電子メールを送信できる場合はどうすればよいですか?

  • MUA(SylpheedまたはThunderbird)をインストールするときは、SylpheedまたはThunderbirdからシステムにMTAをインストールする必要がありますか?同じ電子メールを送信するマシン?

ありがとうございます。

ベストアンサー1

Unix のメールは基本的にローカル現象です。同じホストのユーザーは、ネットワーク接続なしで互いにメールを送信できます。 (「アドレス」は単にユーザー名であり、何もありません。@)これはもちろん、MUAからMTAにメッセージを転送する方法がローカルでなければならないことを意味します。通常、メソッドはというプログラムを指すパイプですsendmail

MTAにこのシンボルを含むアドレスを理解させることで、純粋にローカルメールを参加しているインターネットメールシステムに拡張できます@。 MUAはまだネットワークが存在するかどうかを知る必要はありません。単にアドレスを不透明文字列として処理し、ローカルMTAにネットワークを通過する必要があるアドレスを決定するようにします。

システムにはMTAが1つしかないため、MTAは明らかにネットワーク構成に適した場所ですが、複数のMUAは異なるユーザーまたは同じユーザーが使用できます。このすべてのネットワーク操作を処理する単一のプログラムは、構成を複数回実行する必要がないことを意味します。

発信メッセージをリモートサーバーに注入するMUAは、「Unixファミリー」システムがMTAなしで正常に動作しているように見えるように設計されています。この構成は既存のソリューションを拒否します。これは、メールシステムのコア(すべてのローカルユーザーにメッセージを送信する機能)をブロックし、適切な代替機能を提供しません。

CronはMUAとして機能します。これは「MUAを使用する」ことではなく、Unix MUAが常にやってきたことを行うことです。つまり、ネットワークが存在することを知らず、メールを送信し、それを把握するためにローカルMTAに依存します。ローカルユーザー名で受信者アドレスを指定することは、cronジョブがローカルユーザーの代わりに実行され、そのユーザーが一部のリモートホストにどのアドレスを持っているかを知る方法がないため、唯一の合理的なデフォルトです。

おすすめ記事