Open2

メール配送の仕組みを調べる

Kumamoto-HamachiKumamoto-Hamachi

メール配送の仕組み概観

  • 参考1:メールサーバのしくみ OSS推進フォーラム

  • 参考2:SMTPリレーとは!? 今さら聞けないメール配信の基礎知識

  • 参考3:Linux - MTA / MDA / MUA

  • 参考4:Ubuntuでメールサーバー構築

  • MTA(Message Transfer Agent)
    メール配送プログラム。クライアントからのメールを受信したり、MTA間で転送したりMDAに配送する機能のこと。
    SMTPプロトコルでやり取りするためSMTPサーバーとも呼ばれる。
    代表的なものはsendmailやPostfix、eximなど。

  • MDA(Mail Delivery Agent)
    MTAによって配送されたメールを受信者ごとに配送する機能のこと。

  • MUA(Mail User Agent)
    メールクライアントソフトウェア。『ユーザのフロントエンドとして、電子メールの表示や読み書き、そしてメールサーバへの送信やサーバの自分のメールボックスからのメールの受信に専念するプログラム』電子メール(MTAとMUA)

  • プロトコル
    クライアントから送信されたメールはSMTPプロトコルをリレーして目的のメールサーバに送信される。クライアントはサーバに届いたメールをPOPプロトコルやIMAPプロトコルを介して読み出す

  • SMTP(Simple Mail Transfer Protocol)
    MTA 間の転送や、MUA からMTAへのメール送信に使われるプロトコル。電子メールを転送するプロトコルである。通常
    TCP のポート番号 25 を利用する。

  • POP3(Post Office Protocol)
    ユーザがMTAからMUAに自分のメールを読み出す際に使用する、メール受信用プロトコル。現在は、POP3(POP Version 3)が使用され、TCPのポート番号110番を利用する。

  • IMAP(Internet Message Access Protocol)
    MTA上のメールにアクセスし操作するためのプロトコル。POPではMUAを使用して自分のメールをダウンロードするが、IMAPではサーバ上にメールを保存したまま操作を行う。通常、IMAP4 はIMAP Version 4 revision 1(IMAP4rev1) のことを示し、TCPのポート番号143番を利用する。

(1)MUAで作成で作成したメールを送信用MTAへ送る
(2)MTAはメールアドレスから配送先メールアドレスを調べメールをMTAへ送る
(3)MTAがメールを受け取り、ローカル配送プログラムであるMDAがメールの宛先となっているユーザーのメールボックにメールを格納
(4)受取人側はPOPサーバーやIMPAサーバーを経由して、自分のメールボックスからメールを取り出す。

どのMTAプログラムがインストールされているのかを確認する

netstat -atnp | grep 25
Kumamoto-HamachiKumamoto-Hamachi

補足

netstatコマンドとは

※参考:netstatコマンドの使い方、初心者に必要なことだけを説明する
※参考2:netstatコマンドとは?
netstatとは「通信状況を表示できるネットワークコマンド」のこと。「実行するコンピュータが、どのコンピュータとどんなプロトコルを使って何番ポートで通信しているか」がわかる。

主なオプションは

  • -a
    (アクティブなコネクションでない)UDPの通信状況も確認出来る

  • -n
    プロトコル名やホスト名が数値表示。(表示までの時間短縮に繋がる)
    など