Linuxmail
コマンドを使用する前にメールサーバーを設定する必要がありますか?
答え1
いいえ、メールを送信するためにメールサーバーは必要ありません。私が最もよく知っているのは、電子メールをサービスとして実装するための3つのカテゴリの機能を備えたSendmailです。 MDA(Mail Transfer Agent)は1、MTA(Mail Transfer Agent)は2、3はMUA(Mail User Agent)です。
用語は混乱していますが、MTAが常に実行される必要はありません。mail
MTAは、MUA()がメッセージを「送信」しようとするたびに呼び出されます。
mail
メールを送信するアドレスを実行して指定すると、[email protected]
.mailクライアントはMTA(/usr/bin/sendmail
)を呼び出して、そのホスト/ドメイン(example.com)のDNSを照会し、そのMXで指定された値を見つけます。記録。 MXはメール交換機を意味します。
はい
dig
コマンドを使用して、次を表示できます。
$ dig gnu.org mx
; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:
;gnu.org. IN MX
;; ANSWER SECTION:
gnu.org. 299 IN MX 10 eggs.gnu.org.
;; ADDITIONAL SECTION:
eggs.gnu.org. 299 IN A 208.118.235.92
eggs.gnu.org. 299 IN AAAA 2001:4830:134:3::10
;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct 3 17:27:22 2013
;; MSG SIZE rcvd: 90
したがって、クライアントはこの電子メールを送信するためにポート25でEggs.gnu.orgに接続しようとします。
DNSサーバー?
@pukは次の質問をしました。
私のローカルコンピュータのDNSですか?
これに対する私の答えは次のとおりです。
@puk - メールサーバーと同じように動作できますが、通常はそうではありません。ファイルを見ると、/etc/resolv.conf
コマンドを実行すると下部に行がdig
表示されますSERVER: ...
。これはあなたの要求を処理するDNSサーバーです。
はい
私の/etc/resolv.conf
ファイルには次の内容が含まれています。
nameserver 192.168.1.8
このようなクエリの場合は、次を使用してくださいdig
。
$ dig gnu.org mx
結果は一番下にあります。
;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct 3 17:46:13 2013
;; MSG SIZE rcvd: 90
敏感な読者に聞きたいです。これはどのように構成されていますか?答えは/etc/nsswitch.conf
文書です。具体的には、次の行は次のようになります。
hosts: files mdns4_minimal [NOTFOUND=return] dns
つまり、最初にファイル(/etc/hosts
)を使用してからを使用しますmdns4_minimal
。これがマルチキャストDNSです。デフォルトでは、以前のルックアップのキャッシュです。最後に、dns
ファイルで指定されたIPアドレスを使用します。nameserver
/etc/resolv.conf
答え2
mail
実際に使用しているバージョンによって異なります。
すべてのバージョンでは実際にメールを転送するためにMTAが必要ですが、一部はSMTPを使用してリモートMTA(ISPのメールサーバーなどの「スマートホスト」)と通信でき、一部はメッセージをローカルMTAに/usr/sbin/sendmail
のみパイプできます。
後者の場合、ローカルMTAは完全なMTAになることができます。メールを送信または輸出入銀行またはサフィックス。あるいは、単純な転送専用のMTAです。空の郵便物またはssmtp。または少し複雑なミニMTAもあります。メール転送プロトコルまた、後で配信するためにメールをキューに入れることもサポートします。
無料のソフトウェアとオープンソースの世界には、mailx
このパッケージの2つの主なバリエーション(コマンド提供)がありますmail
:bsd-mailx
、、およびheirloom-mailx
。このmail
コマンドはGNUでも使用できますmailutils
。
bsd-mailxSMTPをサポートしておらず、パイプ経由でのみメールを送信できます。/usr/sbin/sendmail
ガボメールx従来の「パイプメール転送」方法だけでなく、スマートホストとのSMTP通信も可能です。さて、カタツムリおそらくheirloom-mailxの最良の派生物でしょう。これはまだ活発に開発され更新されています。
GNUメールツールmail
バージョンなど、エンドユーザーやシステム管理者向けのさまざまなメール関連ツールが含まれています。
したがって、「メールサーバーが必要ですか?」という質問に答えてみましょう。はい、そうです。必要ですが、mail
インストールするバージョンによっては、システムにインストールして構成する必要がない場合があります。
IMO、スマートホストに依存するよりも最小のMTA(またはmsmtp
などの完全なMTA)を持つ方が良いです。インターネット接続が失われたり、スマートホストがダウンした場合でも、後で配信するためにキューにあるメールを配信できなくなります。ローカルキューを使用すると、他のプログラムからメールを送信して忘れられます。ローカルキューがないとスマートホストが利用できない場合は、何らかの方法でエラー条件を処理する必要があります。postfix
exim
heirloom-mailx
mail
crond