POP3とSMTPはメールソフト上で動作しているため、 使用者が特に意識することなくメールのやり取りを 行うことが出来るわけですが、エンジニアとしては 実際にどのように動作しているのかは、とても気になるところです。
今回は実際に手を動かしながらPOP3とSMTPの動作について 見ていきましょう。
動作の確認には、「Telnet」コマンドを使用します。
ここでは、下記の条件で確認を行います。 (すべて架空の条件です)
実際に試す場合は、実際の環境に合わせて読み替えて下さい。
まずはTelnetを使ってメールを送信してみます。
Telnetでメールサーバにアクセスするときは、 「telnet サーバ名 ポート番号(SMTPの場合のポート番号は25)」 となります。
telnet smtp.test.ne.jp 25
Trying 192.168.1.1...
Connected to smtp.test.ne.jp.
Escape character is \¥'\^\]\¥'.
220 test.ne.jp ESMTP
接続が完了したら、HELOコマンドを利用してユーザ名を入力します。
HELO aki
250-test.ne.jp
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
続いて、MAILコマンドで送信元のメールアドレスを指定します。
MAIL FROM:aki@test.ne.jp
250 ok
次にRCPTコマンドで送信先のメールアドレスを指定します。
RCPT TO:aki@test.ne.jp
250 ok
次にDATAコマンドでメールの内容の書き込み開始を伝えます。
DATA
354 go ahead
ここからメールの本文を入力していきます。
まず、メールの題名や送信元メールアドレス、宛先メールアドレスを 指定します。
「Subject:」がメールの題名、「From:」が送信元、「To:」が宛先です。 その後に続いてメールの本文を入力していきます。
Subject:This is a test mail.
From:aki@test.ne.jp
To:aki@test.ne.jp
Hello World!!
My name is aki.
.
250 ok 1247107336 qp 13617
本文を入力して最後に「.(ピリオド)」を入力すると、 本文の入力が終了となります。
最後にQUITコマンドでログアウトします。
QUIT
221 test.ne.jp
Connection closed by foreign host.
以上でメールの送信は終了です。
続いてメールを受信してみましょう。 受信する場合は、ポート番号110でメールサーバにTelnet接続します。
telnet itbook.info 110
Trying 192.168.1.2...
Connected to test.ne.jp.
Escape character is \¥'\^\]\¥'.
+OK <test.ne.jp>
接続出来たら、USERコマンドでユーザ名を入力します。
USER aki@test.ne.jp
+OK
続いてPASSコマンドでパスワードを入力します。
PASS itbook
+OK
「OK」が出れば接続完了です。 LISTコマンドを入力してみると、サーバにあるメールのリストが 表示されます。
LIST
+OK
1 1366
.
メールの内容を表示させるには、「RETR メールの番号」を入力します。
RETR 1
+OK
Return-Path: aki@test.ne.jp
Received: from test.ne.jp (HELO aki) (192.168.1.1)
by 192.168.1.2 with SMTP; 9 Jul 2009 11:40:48 +0900
Subject:This is a test mail.
From:aki@test.ne.jp
To:aki@test.ne.jp
X-UIDL: 1234567890
Hello World!!
My name is aki.
.
先ほど送信したメールの内容が表示されました。 このメールを削除したい場合は、DELEコマンドに続いて メールの番号を指定します。
DELE 1
+OK
ログアウトする場合はQUITコマンドを使用します。
QUIT
+OK
Connection closed by foreign host.
以上がTelnetを使ったメールのやり取りになります。
メール・ソフトも基本的に内部で上記のようなやり取りを行って メールの送受信を行っています。
読者の方の中には、セキュリティ上の問題にも気がついたかもしれません。 パスワードは暗号化されていませんし、送信者の名前も 改ざん出来てしまいそうです。
例えば、メール本文を入力する際に「From:」に続いて入力する メールアドレスを適当な送信元メールアドレスを入力したとしても 送信出来てしまいます。
「Subject:」や「From:」、「To:」など、メール本文に記載する情報は 内容を一切チェックせずに、そのまま送信されてしまいます。
つまり悪意のある人間が簡単に偽装してメールが 送信できてしまうということ。
これを防ぐ技術が、先ほど説明した「POP before SMTP」と 「SMTP AUTH」です。
実際に手を動かして試してみると、今まで気がつかなかった事に 気がつくことがあります。どんどん手を動かしましょう。
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓