この記事では、電子メールの仕組みについて、初心者にも分かりやすく、図解付きで丁寧に解説しています!
電子メールの仕組み
- SMTPはメールの送信に使われるプロトコル。
- POPはメールの受信に使われるプロトコルで、受信者の端末にメールをダウンロードしてから閲覧する。
- IMAPはメールの受信に使われるプロトコルで、メールサーバに置いてあるメールを受信者の端末から閲覧しに行く。
- DNSサーバはドメイン名からIPアドレスを特定するサーバ。
電子メールのセキュリティ
- SMTP-AUTHはIDとパスワードでユーザ認証することで、ユーザが正規かどうかを確かめる技術。
- SMTP-AUTHではサブミッションポート番号を使う。
- SPFは受信者側が、送信者が正規かどうかを確かめる技術。メールを送ってきたメールサーバのIPアドレスとメールに付いている送信元情報を比較することで確かめる。
- DKIMはデジタル署名を使ってメールの送受信をすることで、正規の送信者なのかとメール内容が改ざんされていないかを確かめる技術。
電子メールの送受信の仕組み
パソコンやスマホからメールを送信するとき、宛先のパソコンやスマホに直接メールが届けられる訳ではありません。メールサーバという電子メールを送受信するためのサーバを仲介してやり取りをします。メールサーバの中には送信の役割を持つSMTPサーバと受信の役割を持つPOPサーバもしくはIMAPサーバが存在します。POPサーバとIMAPサーバの違いについては後で詳しく見ていきます。

メールの送受信の流れ
①送信者のPCから送信者のSMTPサーバへメールを送る
②送信者のSMTPサーバが宛先のメールサーバのIPアドレスをDNSサーバへ問い合わせる
③DNSサーバから回答があったIPアドレスを元に宛先のSMTPサーバへメールを送る
④受信者が設定した方法でメールを受信する(POPサーバかIMAPサーバで受信方法が変わる)
メールの送受信に必要なサーバは「SMTPサーバ」「DNSサーバ」「POPサーバ」「IMAPサーバ」の4つです。これらのサーバについて詳しく解説します。
SMTPサーバ
SMTPはメールを送信する時に使われるプロトコルです。SMTPサーバは下のような役割を果たします。
・送信者のPCから送信するメールを受け取る
・DNSサーバに宛先のIPアドレスを問い合わせる
・宛先のメールサーバにメールを送る

SMTP-AUTH
SMTP-AUTHとは送信者のPCからSMTPサーバにメールを送る時に、正しいユーザかどうかを認証して確認する仕組みです。例えば、GmailやOutlookを使ってメールを送る場合、IDとパスワードでログインしてからメールを送るようになっていますね。なので、GmailやOutlookを使う場合はSMTP-AUTHを使っていることになります。
元々、SMTPサーバは誰でも自由にメールの送信を依頼することが可能でした。その結果、スパムメールやウイルスメール等が無差別に送信可能な状況になっていました。そこでSMTPサーバにメールを送る時にIDとパスワードで正規のユーザかどうかを認証して確認する仕組みがSMTP-AUTHです。SMTP-AUTHを使うことで不正メールの送信を防ぐことが出来ます。

ちなみに、SMTPで使うポート番号は25番ですが、SMTP-AUTHで使うポート番号は587番になります。SMTP-AUTHで使うポート番号をサブミッションポート番号と呼びます。
SPF(Sender Policy Framework)
SPFは受信者が、届いたメールが正規の送信者からのメールなのかを確認する技術です。
SPFで認証する流れ
①送信者のメールサーバがDNSサーバにIPアドレスを問い合わせる時に、DNSサーバが送信元のIPアドレスを記録しておく。
②受信者のメールサーバにメールが届く。
③受信者のメールサーバが、届いたメールの送信者情報が正規のものかどうか、DNSサーバに問い合わせて確認する。

DKIM(DomainKeys Identified Mail)
DKIMとはデジタル署名を使ってメールの送信をすることで、送信者のなりすましに気付けたり、メール内容の改ざんに気付けるようにする技術です。
ディジタル署名では正規の送信者からのデータなのか、データが改ざんされていないかを確かめることが出来ます。送信者は「送信者が作成した暗号化鍵」で暗号化を行い、受信者は「送信者が作成した復号鍵」で復号します。

ディジタル署名では復号鍵が不特定多数に公開されています。受信者はデータを受け取ったら、公開されている復号鍵でデータの復号を行います。データの暗号に使う暗号化鍵は正規の送信者しか持っていないはずなので、正しくデータの復号が行えるということは正規の送信者から送られたデータであるということが分かります。
ディジタル署名の詳しい解説は以下の記事で確認ください。

MIMEとbase64
実はSMTPではASCIIのような7bitの文字コードで表現された英数字しか送ることができず、添付ファイルや画像はもちろん、UTF-8のような8bitの文字コードで表現された文字(日本語とか)は送信できませんでした。これらの送信を可能するためにメールの機能を拡張するのがMIME形式です。
MIME形式では7bit以外で表現された英数字以外の情報をbase64と呼ばれる方法で7bitに変換します。情報を7bitに変換することをエンコードと呼び、逆に7bitから元の情報に戻すことをデコード呼びます。SMTPで送れないような7bit形式の情報以外はbase64で7bit形式に変換してから送ります。

base64の変換の方法
エンコードしたい情報を2進数に変換して、6bitずつに区切り、対応表に基づいて変換します。

6bitに変換してますが、一番上に0を付けると7bitになるので問題ありません。7bit形式として送信できます。さらに、現在のコンピュータは8bitをひとまとまりとするのが一般的なので、もう一つ上に0を付けます。6bitずつに区切ったものが最終的に8bitになるので、元のデータが4/3倍の大きさになって送信されます。
DNSサーバ
IPアドレスは数字の羅列で、私たち人間にとっては凄く分かりにくいんです。これを人間のために分かりやすく文字列に変換したものがドメイン名です。メールアドレス「ochanta@shikaku-dou.com」の@以降がSMTPサーバを表すドメイン名です。
コンピュータはIPアドレスしか理解できないので、通信する時はドメイン名をIPアドレスに変換する必要があります。しかし、IPアドレスのままだと人間が理解しにくいのでドメイン名に変換したくなります。IPアドレス⇔ドメイン名に変換することを名前解決と言い、変換を行う仕組みをDNSと言います。

私たちが入力したメールアドレスをIPアドレスに変換する役割を持つのがDNSサーバです。

SMTPサーバはDNSサーバにメールアドレスのIPアドレスを問い合わせてからメールを送信します。
DNSについて、こちらの記事でより詳しく解説しています。

POPサーバ
POPはメールを受信する時に使われるプロトコルです。POPでは受信者の端末にメールをダウンロードしてからメールを閲覧します。

メールを端末にダウンロードするのでPOPサーバにメールが残らず、POPサーバの容量を効率よく使えます。また、ダウンロードしたメールはオフラインでも閲覧が可能です。しかし、端末からメールを削除すると、POPサーバにもメールが残っていないので、もう入手することが出来ません。
IMAPサーバ
IMAPはメールを受信する時に使われるプロトコルです。IMAPではメールサーバに置いているメールを受信者の端末から閲覧します。

メールサーバに置いているメールを端末から確認するので、複数端末からメールを確認出来ます。また、PCやスマホを替えたときもデータの移行をする必要がありません。しかし、オンラインでしかメールを確認できません。
応用情報技術者試験での出題例
令和7年度春期問34
応用情報技術者
午前試験 令和7年度春期問34
30kバイトのJPEGファイルを電子メールに添付するとき,実際の転送データはおよそ何kバイトになるか。ここで,添付ファイルはMIME base64を用いてエンコーディングされるものとする。
ア 20 イ 30 ウ 40 エ 60
正解は”ウ”
SMTPでは7bitで表現された英数字しか送信できないですが、日本語や画像ファイルを送れるようにメールの機能を拡張するものがMIMEです。base64は普通は送れない情報をSMTPで送れるように変換する方式です。
base64では、元の情報を2進数に変換して、6bitずつに区切り、対応表に基づいてさらに変換を行います。ただし、現代のコンピュータでは8bitをひとまとまりとして扱うのが一般的なので、6bitに区切ったものの上に0を2つ付けて8bitにします。6bitのものが8bitになるので、元のデータの4/3倍でデータは送信されます。
よって、答えは30kバイト×4/3=40kバイトです。
令和6年度春期問43、令和4年度秋期問44
応用情報技術者
午前試験 令和6年度春期問43、令和4年度秋期問44
SPF(Sender Policy Framework)の仕組みはどれか。
ア 電子メールを受信するサーバが,電子メールに付与されているデジタル署名を使って,送信元ドメインの詐称がないことを確認する。
イ 電子メールを受信するサーバが,電子メールの送信元のドメイン情報と,電子メールを送信したサーバのIPアドレスから,送信元ドメインの詐称がないことを確認する。
ウ 電子メールを送信するサーバが,電子メールの宛先のドメインや送信者のメールアドレスを問わず,全ての電子メールをアーカイブする。
エ 電子メールを送信するサーバが,電子メールの送信者の上司からの承認が得られるまで,一時的に電子メールの送信を保留する。
正解は”イ”
SPFでは①メールを送ってきたサーバのIPアドレス、②電子メールが持っている送信元IPアドレス、の2つの情報が同じかどうかでメールの送信者が正規の送信者かを確かめる技術です。
令和5年度秋期問38
応用情報技術者
午前試験 令和5年度秋期問38
自社の中継用メールサーバで,接続元IPアドレス,電子メールの送信者のメールアドレスのドメイン名,及び電子メールの受信者のメールアドレスのドメイン名から成るログを取得するとき,外部ネットワークからの第三者中継と判断できるログはどれか。ここで,AAA.168.1.5とAAA.168.1.10は自社のグローバルIPアドレスとし,BBB.45.67.89とBBB.45.67.90は社外のグローバルIPアドレスとする。a,b,cは自社のドメイン名とし,a.b.dとa.b.eは他社のドメイン名とする。また,IPアドレスとドメイン名は詐称されていないものとする。

正解は”ウ”
第三者中継とは、メールサーバが全く関係ない外部ネットワークの第三者同士のメール送受信を中継することです。
全く関係ない外部ネットワークを中継しているので、接続元IPアドレス、送信者のドメイン名、受信者のドメイン名、全て外部のアドレスです。よって答えはウです。
令和5年度秋期問44
応用情報技術者
午前試験 令和5年度秋期問44
DKIM(DomainKeys Identified Mail)に関する記述のうち,適切なものはどれか。
ア 送信側のメールサーバで電子メールにデジタル署名を付与し,受信側のメールサーバでそのデジタル署名を検証して送信元ドメインの認証を行う。
イ 送信者が電子メールを送信するとき,送信側のメールサーバは,送信者が正規の利用者かどうかの認証を利用者IDとパスワードによって行う。
ウ 送信元ドメイン認証に失敗した際の電子メールの処理方法を記載したポリシーをDNSサーバに登録し,電子メールの認証結果を監視する。
エ 電子メールの送信元ドメインでメール送信に使うメールサーバのIPアドレスをDNSサーバに登録しておき,受信側で送信元ドメインのDNSサーバに登録されているIPアドレスと電子メールの送信元メールサーバのIPアドレスとを照合する。
正解は”ア”
DKIMはデジタル署名を使ってメールの送受信を行うことで、送信元ドメインの認証とメール内容の改ざんを確認できる技術です。
令和5年度春期問44
応用情報技術者
午前試験 令和5年度春期問44
スパムメール対策として,サブミッションポート(ポート番号 587)を導入する目的はどれか。
ア DNSサーバにSPFレコードを問い合わせる。
イ DNSサーバに登録されている公開鍵を使用して,デジタル署名を検証する。
ウ POP before SMTPを使用して,メール送信者を認証する。
エ SMTP-AUTHを使用して,メール送信者を認証する。
正解は”エ”
SMTP-AUTHではサブミッションポート番号を使います。