私のローカルLinuxホストのシステムデーモンが電子メールを送信する方法が疑問に思います。
- すでに組み込まれているEメールフレームワークの種類はありますか?
- MTAまたはMUAが必要ですか?
- 「Sendmail」はどんな役割を果たしますか?要件ですか?
- 他のホストを介して送信するようにサーバーを構成するにはどうすればよいですか?
- 「mail」コマンドはこの状況にどのように適していますか?
- /home/user/maildirはこの図にどのように当てはまりますか?
ベストアンサー1
かなり広範な質問をしました。すべての質問を詳しく説明するには、多くのページが必要です。簡単に言うと:
Linux/Unix システムから電子メールを送信するには、複数のプログラムが必要です。各キャラクターには選べるものが多いです。
- メールユーザーエージェント(MUA)。これが電子メールを読み書きする方法です。システムのユーザーインターフェイスです。例:mutt、Thunderbird、Evolution、kmail、...
- メール配信エージェント(MDA)。これは、ローカルメールボックスにメールを入れることを処理します。フィルターなども扱えます。例:procmail、maildrop。
- メール転送エージェント(MTA)。通常、SMTPを使用してインターネットを介したシステム間の電子メールの送受信を処理します。例としては、exim、postfix、qmail、sendmailなどがあります。
通常、MTA と MDA が結合されます。たとえば、eximは両方を実行します(ただし、スタンドアロンMDAでも実行できます)。一部のMUA(Thunderbirdなど)は、3つのケースすべてを処理できます(MTA機能は非常に制限的ですが)。
これで、Eメールを送信するための2つのインターフェースがあります。
- localhost:25へのSMTP接続を確立し、SMTPを使用してメッセージを送信します。
- 電話をかけて
/usr/sbin/sendmail
メッセージを送信します。 (またはパイプを介してSMTPを使用し、多くのパラメータがあります。興味がある場合は、マンページを確認してください。)
(2)非常に一般的です。これはsendmail MTAのデフォルトインターフェイスですが、他のほとんどすべてのUnix MTAはこのインターフェイスをエミュレートします。これは、Unixシステムからメールを送信する標準的な方法とほぼ同じです。
したがって、実行してメッセージを入力すると、そのメッセージをシステムMTAに転送するための呼び出しが行われます。その後、システム MTA はローカル構成を使用してメッセージの処理方法を決定します。mail [email protected]
mail
/usr/sbin/sendmail
- メールはローカルメール名/ホスト名で送信されるため、ローカルに配信されます(MDAに配信されます)。
- リモートSMTP転送のためのMXレコードへのDNS要求
- これは、ドメイン/電子メールアドレスなどに対して設定されたカスタムアクションです。 MTAは一般的に非常に柔軟です。
/var/spool/mail/user
適応する方法~/Maildir
?これは、正確にMDAが送信するメッセージを配置するように設定(またはデフォルト)されている場所です。
したがって、RAIDモニタリングの場合おそらくMTAをインストールしたいです。 Gmail アカウントや他のアカウントにメールを送信するために MDA は必要ありません。
最も簡単な設定は、発信SMTPリレー(スマートホストとも呼ばれ、ほとんど提供)を提供するISPがある場合です。次に、すべてのメールをそこに送信するようにMTAを設定するだけです。 Ubuntuはメール設定文書Eximはすでにインストールされている必要があると言われていますが、システムからメールを受信するにはEximを設定する必要があります(非常に簡単です)。皆さんも見てください」軽量発信SMTPサーバー「Unix.SEで。