電子メールについて無知だったので調べた
電子メールについて無知でなんとなく使っていたので、使われているプロトコルについて少し調べた。
メールの配送
電子メールの配送は以下の3つのパートに分けることができる。
- 送信者の端末 ~ 送信者のアカウントがあるメールサーバ
- 送信者のアカウントがあるメールサーバ ~ 受信者のアカウントがあるメールサーバ
- 送信者のアカウントがあるメールサーバ ~ 受信者の端末
メールの配送に利用されるプロトコル
上記の1,2のパートでは、SMTP(Simple Mail Transfer Protocol)というプロトコルが利用される。
3にはPOP3(Post Office Protocol Version 3)や、IMAP4(Internet Message Access Protocol Version 4)が使われる。
POP3
メールボックスに届いたメールをまとめて読み出すことを主な目的としたプロトコル。読み出したメールは端末に保存するため通信が途切れてもメッセージを読むことができる。また、メールを読み出した後はサーバーから消去するので、サーバーの容量を心配しなくて済む。
IMAP4
サーバー上のメールボックスにメールを入れたままにして、それを読むことを目的としたプロトコル。ただし、IMAP4を利用したメールソフトでは一度読んだメールは端末に保存するなどの工夫が行われている。
POP3とIMAP4の使い分け
POP3とIMAP4の使い分けとしては、一台の端末でメールを読むだけで良いならPOP3、複数台の端末で同じメールを読みたいのならIMAP4を使うことが自然。最近では、複数の端末からメールを読むことも多いため、これまではIMAP4に対応していなかったメールサービスがIMAP4に対応するようなことも見受けられる。
SMTP
SMTPでのやりとりは全てテキストで行われ、サーバに対してコマンドを送ると、それに対するリプライがサーバから返ってくる。このようなやりとりをメールの送信が行われるまで何度も行う。
ますはメールを送ろうとする側がサーバーに対して、グリーディングを送りセッションの開始を告げる。続いて、差出人のメールアドレスを、次に宛先のメールアドレスを指定、ここでメールの本文を送り、通信を終了する。
SMTPで送信されるコマンドの例
- HELO: サーバーへのセッションの開始を伝える
- MAIL FROM: 差出人のメールアドレスを指定
- RCPT TO: 宛先のメールアドレスを指定
- DATA: メール本体
- QUIT:終了
コマンドを送信するとサーバーから数字3桁のリプライコードが返ってくる。
リプライコードの例
- 220: サービス準備OK
- 221: チャネルクローズ
- 250:リクエスト正常終了
- 354: メール入力開始指定
- 500: コマンド構文エラー
POP3やIMAP4もSMTPと同様にやりとりはテキストで行う。ただし、SMTPとは異なる点として利用の最初の段階で、ユーザーがサーバーにログインするためのやりとりを行う。
迷惑メールを防ぐために
SMTPの基本的なやりとりにはログインは不要。しかし、これでは迷惑メールなどの送信に不正利用される。
OP25B(Outbound Port 25 Blocking)
ISP(Internet Service Provider)内から外部のサーバの25番ポート(SMTPが利用するポート)への接続を禁止する。しかし、正当なメールの送信は問題なく行うことができるように、メールサーバに587番ポート(サブミッションポート)を用意し、このポートにはSMTP-AUTH(メール送信時にIDとパスワードを必要とする仕組み)を設定して、サーバを利用する権限がある人のみメールを送ることができるよにしている。
Author And Source
この問題について(電子メールについて無知だったので調べた), 我々は、より多くの情報をここで見つけました https://qiita.com/Takatoshi_Hiki/items/f4a1a952a84182fb430c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .