広告枠・・・広告やリンク先の保証はしません


この記事を読むために必要な時間は約6分(1861文字)です。

SMTPとMIME ~ メールの基本技術 ~

今回から3回に分けて、メールに関係する基礎技術についてお話をします。
セキュリティに関係する部分のお話をするため、各技術の詳細は割愛していますので、ご注意ください。
今回は、メール送信に関係する技術のお話をします。

メール技術

お話をする基礎技術

メールに関係する基礎技術としてお話をするのは、次の項目です。

  1. SMTP
  2. MIME
  3. POP3
  4. IMAP(IMAP4)
  5. SMTPs/POP3s/IMAP4s
  6. S/MIME
  7. OP25B
  8. SPF
  9. Domain Keys

次のような順番で話をする予定です。

SMTP

SMTPは、メールの送信を行う時に使います。
「基本的なメールを伝達する通信規約」を意味する英単語「Simple Mail Transfer Protocol」の頭文字をとっています。
基本的なという言葉どおり、テキスト形式の本文を送信する機能のみを規定しています。

SMTPはそのまま「エスエムティーピー」と呼ばれます。

基本動作

基本的には、次のような順番で動作します。
  1. メールサーバは、送信者からメール送信の依頼を受け付けます
  2. 送信を依頼されたメールサーバは、受信者が自分(メールサーバ)にいるかどうかを確認します
  3. 受信者が自分にいれば、受信者が受信できるようにします
  4. 受信者が自分にいなければ、知っているメールサーバに送信を依頼します→2番に戻る
知っているメールサーバと単純に書いていますが、複数知っている場合もあります。
この選択の仕方で、届くまでの時間が異なってくることになります。

添付ファイル

実は、添付ファイルの送信には、次の2つの問題があります。
  1. 添付ファイルを送信する機能がない
  2. バイナリデータを送信する機能がない
添付ファイルが送信できないというと不思議に思われるかもしれませんが、SMTPの機能としてはありません。
また、添付ファイルとして送信されることが多い、画像や文書などのファイルは、ほとんどの場合、バイナリデータであるため、そのままでは、送信できません。
このため、この後お話をするMIMEを使って、添付ファイルを送信します。

暗号化

SMTPには、基本的に、暗号化する機能はありません。
このため、3回目でお話をするSMTPsを利用することもあります。

認証

送信する機能のみで、送信する時の認証がありません。
このため、最近のメールサーバでは、次の2つのどちらかの機能を追加機能として実装いることが多いです。

  1. SMTP-AUTH
  2. POP before SMTP

「SMTP-AUTH」は、SMTPに認証機構を追加したもので、「POP over SMTP」は、次回お話をするPOPを利用して認証します。

認証については、メール送信を秘密にするというより、迷惑メールなどという不正なメール送信に対応するために追加された機能です。
このため、元のSMTPには暗号化する機能はありません
「SMTP-AUTH」の場合、IDやPASSWORDを送信するので、その部分を暗号化する機能がついています

MIME

SMTPがテキストしか扱えず、添付機能がないために開発されたのが、MIMEです。
MIMEは「多目的インターネットメール拡張」と訳される「Multipurpose Internet Mail Extensions」の頭文字をとったものです。

厳密には、添付ファイルだけの規定ではなく、もう少し広い規定です。
もう少し広いというのは、例えば、メール本文がHTMLで画像が埋め込まれている場合の画像データに使われることを意味します。
この場合の画像データは厳密には添付ファイルではなく、本文の一部と考えられるからです。

このため、MIMEはバイナリを扱うことができる規定になっています。
しかし、メールで扱うときには、テキストに限定して使用するようにしています。

MIMEでバイナリデータを扱う時は、基本的に、BASE64と呼ばれる変換をします。
BASE64の64は、全て半角で、英大文字小文字の52文字、数字10文字、【+】、【/】の計64文字を扱うことからです。

バイナリデータを6ビットで分けて、64の文字に割り当てて変換します。

次回は、「受信に関係するPOP3とIMAP」のお話です。

タグ:


広告枠・・・広告やリンク先の保証はしません

参考記事(一部広告含む)


このページの記事についてちょっと質問!