目次
利用するアプリケーション
電子メールの送受信に利用するアプリケーションは、メールアプリケーションです。主なメールアプリケーションとして、以下のものが挙げられます。
- Microsoft Outlook
- Mozilla Thunderbird
メールアプリケーションには利用するメールアカウントの設定が必要です。主な設定内容は、以下のとおりです。
設定内容 | 意味 |
アカウント名 | メールアカウントのユーザ名 |
パスワード | メールアカウントのユーザ名に対するパスワード |
メールアドレス | メールソフトを利用するユーザのメールアドレス |
送信者名 | メールを送信するユーザの名前 |
メールサーバ | メールサーバのホスト名またはIPアドレス。送信用のSMTPサーバと受信用のPOP3またはIMAP4サーバの設定を行う |
また、メールアプリケーションを動作させているPCなどには、TCP/IPの設定が正しく行われていることが大前提です。そして、メールサーバでは、メールサーバアプリケーションが必要です。主なメールサーバアプリケーションとして、以下のものが挙げられます。
- Microsoft ExchangeServer
- sendmail
- qmail
- Postfix
メールサーバアプリケーションには、主に利用するユーザのメールボックスを作成しておかなければいけません。また、当然ながら、メールサーバ自体のTCP/IP設定が正しいことが大前提です。
利用するプロトコル
電子メールの送信にはSMTPを利用します。SMTPはトランスポート層にTCPを利用してウェルノウンポート番号は25です。そして、電子メールの受信には、POP3またはIMAP4を利用します。どちらもトランスポート層にTCPを利用します。POP3のウェルノウンポート番号は110で、IMAP4のウェルノウンポート番号は143です。
メールアプリケーションでは、メールアドレスを指定します。TCP/IPは必ずIPアドレスが必要です。メールサーバのIPアドレスを求めるために、DNSを利用しています。メールアカウントで設定されたメールサーバのホスト名やメールアドレスのドメイン名からDNSによって、メールサーバのIPアドレスを取得します。そして、ネットワークインタフェース層にイーサネットを利用しているときには、IPアドレスからARPによってMACアドレスを求めています。
電子メール送受信の動作の流れ
電子メールの送受信には、SMTPやPOP3/IMAP4を利用しますが、Webアクセスと同じようにそれだけではありません。DNSの名前解決、ARPのアドレス解決、TCPコネクションの確立を行います。これらのプロトコルの組み合わせで電子メールを送受信していく流れをまとめましょう。以下のネットワーク構成を例にとります。
メールの送信
まず、クライアントPCのメールアプリケーションから、メールサーバへのメール送信です。
メール送信時の動作の流れは、次のようになります。
- メールアプリケーションでメールを書き送信をクリック
- メールサーバのIPアドレスを解決
- TCPコネクションの確立
- SMTPコマンドと応答コードのやり取り
メールアプリケーションでメールを書き送信をクリック
メールアプリケーションでメールを書いて送信をクリックすることでメールが送信されます。このとき、IPアドレスは意識しません。宛先メールアドレスを指定します。
メールサーバのIPアドレスを解決
メールサーバにメールを送信するためにメールサーバのIPアドレスが必要です。メールアプリケーションでメールアカウントの設定を行っています。メールアカウントの設定で、メールサーバのホスト名を指定しています。メールサーバのホスト名からDNSで名前入解決を行います。また、DNSサーバへ問い合わせするために、イーサネットのMACアドレスも必要です。そこでARPも行われます。
TCPコネクションの確立
メールサーバのIPアドレスを解決したら、メールアプリケーションとメールサーバアプリケーション間でTCPコネクションを確立します。メールサーバアプリケーションのポート番号はウェルノウンポートの25です。
SMTPコマンドと応答コードのやり取り
TCPコネクションを確立すると、そのコネクションを通じてSMTPコマンドと応答コードをやり取りして、メールのデータを送信します。メールのデータのサイズは大きくなるので、TCPの機能で分割して送信します。
メールは最終的に宛先メールアドレスのドメイン内のメールサーバに転送されていきます。メールサーバ間のメールの送信も、上記の手順とほとんど同じです。転送先のメールサーバのIPアドレスを解決の流れが若干異なります。
転送先のメールサーバのIPアドレスを解決するために、DNSを利用します。このとき、宛先メールアドレスのドメイン名のMXレコードを問い合わせることになります。
メールの受信
メールを受信するときの流れは、以下のようになります。
- メールアプリケーションで受信をクリック
- メールサーバのIPアドレスを解決
- TCPコネクションの確立
- POP3コマンドと応答コードのやり取り
基本的な動作の流れは、メール送信時と同じです。メールアカウントの設定で指定しているメールサーバのIPアドレスをDNSで解決したら、TCPコネクションを確立します。このときのポート番号は110です。
TCPコネクションを確立すると、POP3コマンドと応答コードのやり取りでユーザ認証を行い、メールデータを受信します。
TCP/IP
- TCP/IPの階層
- IP(Internet Protocol) ~データを送り届ける~
- ICMP ~きちんとIPで転送できますか?~
- Ping ~きちんとデータは届きますか?~
- Windows OSのPingコマンド
- トレースルート ~データはどのルータを通っていますか?~
- tracertコマンド(Windows OS)
- ICMPリダイレクト
- トラブルはどこ? ~Pingとトレースルート~
- ARP ~IPアドレスとMACアドレスを対応付け~
- ARPフォーマット
- Gratuitous ARP(GARP)
- ポート番号 ~どのアプリケーションのデータなの?
- TCPの概要
- TCPの動作
- UDPの概要
- アプリケーションのデータが届くまでのまとめ
- DNS ~宛先IPアドレスを求める~
- nslookupコマンド ~DNSの名前解決の確認~
- DHCP ~IPアドレスを自動割り当て~
- Cisco IOS DHCPサーバの設定と確認コマンド
- Ciscoルータ DHCPサーバの設定例
- DHCPリレーエージェント
- DHCPリレーエージェントの設定例[Cisco]
- DHCPサーバ配置のまとめ
- TCP/IPの設定のまとめ
- ipconfigコマンド ~Windows OSのTCP/IP設定を確認~
- Linux(Ubuntu)でのTCP/IP設定の確認コマンド
- Webサイト
- HTMLとCSS ~Webページを作る~
- URL ~Webサイト(Webページ)のアドレス~
- HTTP ~HTMLファイルを転送する~
- Webアプリケーション ~Webブラウザだけあればいい~
- HTTP Cookie
- Webアプリケーションのセッション管理
- Webプロキシサーバ ~Webアクセスを代わりに~
- Webアクセスのまとめ
- 電子メール
- SMTP ~電子メール送信用プロトコル~
- POP3 ~メール受信用プロトコル~
- IMAP4 ~メールサーバ上でメールを管理~
- 電子メールのまとめ
- FTP ~代表的なファイル転送プロトコル~
- TFTP ~簡易的なファイル転送プロトコル~
- Windows10/11のTFTPクライアント
- ネットワークのトラブルの切り分け手順