e-mail

電子メールの仕組み(MIME, SMTP, POP, IMAP)【ネットワーク】

普段何気なく利用している電子メールですが、内部的にはどんなプロトコルで動いているのかを簡単に見ていきましょう。

 

メールアドレス

そもそも電子メールにはアドレスがありますが、メールアドレスはどの様な仕組みになっているのでしょうか。

電子メールの配送先の管理はDNSによって行われます。

DNSとはDomain Name Systemの略で、コンピュータ名やドメイン名などの名前とIPアドレスの対応を管理するものです。

DNSにはメールアドレスと、そのメールアドレス宛のメールを送信するべきメールサーバーのドメイン名を登録することができ、これをMX(Mail eXchange)レコードと呼びます。

メールアドレスの例として以下の様なアドレスがあるとします。

hoge@fuga.example.com

この場合hogeが名前、fuga.example.comが住所を表します。

住所部分はexample.comが組織名を表し、fugaはhogeがメールを受信するコンピュータのホスト名かメール配送用のサブドメイン名を表します。

example.comのMXレコードにmailserver.example.comを指定するとexample.comで終わるメールアドレス宛のメールは全てmailserver.example.comに転送されます。

 

MIME

MIMEとはMultipurpose Internet Mail Extensionの略で、電子メールで転送できるデータ形式を拡張するものです。

ヘッダにContent-Typeでデータの種類を指定することができます。

例えば普通のテキストであれば、Content-Type: text/plain

添付ファイル付きであれば、Content-Type: multipart/mixed

というようになります。

 

SMTP

SMTPとはSimple Mail Transfer Protocolの略で、送信者が電子メールを配送するためのプロトコルです。

ポート番号25番を利用し、メール本文や宛先などの情報を入れて送信することで相手側のホストにメールが届きます。

ただしSMTPは送信するホストはもちろん、受け取り側のホストも電源がついて起動している必要があるため、例えばAさんがBさんにメールを送りたいと思ったら、AさんとBさんの端末両方の電源がついている時にタイミングよくメールを送信する必要があります。

 

POP

POPとはPost Office Protocolの略で、メールを受信するためのプロトコルです。

POPを利用することによって、SMTPの例で挙げられていた問題を解決することができます。

メールを受信する端末とは別に、常時電源がついているメールを受け取る専門のPOPサーバーを用意しておきます。

送信者はSMTPを利用してメールをPOPサーバーに送り、受信者は任意のタイミングでPOPを利用することでPOPサーバーからメールを取り出すことができます。

こうすることで、AさんとBさんの端末両方の電源がついているタイミングでなくても、メールの送受信を行うことができます。

 

IMAP

IMAPとはInternet Message Access Protocolの略で、メールを受信するためのプロトコルという点ではPOPと一緒ですが、POPがクライアント側で電子メールの管理を行なっていたのに対しIMAPはメールの管理をサーバー側で行うプロトコルです。

POPではサーバーのメールを全てダウンロードして端末側で開いたり既読にしたりと操作を行なっていましたが、IMAPではそれをサーバー側で行うため、メールも全てをダウンロードしなくても読むことができます。

また、未読や既読、メールボックスの管理、をサーバー側で行うため、デスクトップPCとノートPC、スマホなど複数のコンピュータで利用する場合に便利です。