11.3. メール管理

11.3.1. メール配送の仕組み

Linuxにおいてメールの配送はMTAMDA,MUAにより構成/実現される。

MTA

MTA(Mail Transfer Agent)は電子メールを配信/転送するプログラム、つまりメールサーバソフトウェアを表す。 MTAにはsendmail、qmail、postfix、eximなどがある。

MTA処理速度セキュリティ説明
sendmail××かつてMTAの標準ソフトウェアと広く普及した。
qmailセキュリティ面に優れており、非常に堅牢なつくり。パフォーマンスもsendmailより優れている。
postfixパフォーマンスが最も優れたMTA。設定が簡単でセキュリティ面も高い。sendmailとの互換性がある。
eximDebian系の標準のMTA。

MDA(Mail Delivery Agent)

メールボックスにメールを送るプログラム。

MUA(Mail User Agent)

MUAはメールクライアント(メーラ)を表しメール作成、閲覧が可能なもの。

11.3.2. メールの配送フロー

  1. メールクライアントソフトウェア(MUA)でメール作成
  2. 送信元側のメールサーバ上のMTA(1)へ送る
  3. 宛先側のメールサーバ上のMTA(2)へ転送(相手ドメインのDNSサーバに尋ねる)
  4. MTA(2)がメールを受け取ると、MDAがメールをメールボックスに格納する
  5. 受取人は自分のメールボックスからメールを取り出す(POP,IMAPを使用)

11.3.3. MTAの起動とメールの確認

MTAプログラムの確認

LinuxシステムでどのMTAプログラムがインストールされているのかは、以下プログラムで確認可能。

netstat -atnp | grep 25

メールの送信、受信メールの確認

mailコマンドで確認可能。

mail # 受信メールの確認
mail -s <題名> <宛先ユーザー名 | 宛先メールアドレス> # メールの送信「.」で入力終了

メールの転送とエイリアス

メールを転送する場合以下の2つの方法がある.

  1. /etc/aliasesファイルに設定する方法
  2. 各ユーザーのホームディレクトリに存在する~.forwardファイルに転送先アドレスを設定する方法

あるメールアドレスに届いたメールを別のアドレスに転送する場合は/etc/aliasesファイルに設定を記述することで可能。 書式は以下の通り。

転送元ユーザー: 転送先ユーザー

11.3.4. 送信待ちメール/受信待ちメールの確認

多数のメールを送信した場合やメール送信に失敗した場合はメールキューに蓄えられる。 具体的には、送信者側のメールサーバの/var/spool/mqueueディレクトリに保存される。 情報はmailqコマンドでできる。

なお受信成功した場合は /var/spool/mailに保存される。

mailqコマンド

メールキューを一覧するコマンド。

mailq