telnetでSMTPとお話してみよう!

16.10.10 / メールのこと / Author:

telnetでSMTPサーバとお話してみよう!

まず、$ telnet [メールサーバ名] 25 と入れます。

$ telnet mail.kumatta.kuma 25

Trying 125.○○○.176.△…
Connected to mail.kumatta.kuma.
Escape character is ‘^]’.
220 mail.kumatta.kuma ESMTP Postfix

次に、helo [ドメイン名]と入れます。すると、250 [メールサーバ名]と返ってきます。

helo kumatta.kuma
250 mail.kumatta.kuma

つぎに、mail from:とrcpt to:でメールの送信者受信者を入れます。

この部分が前回勉強したエンベロープの部分です。

mail from:kuma@kumatta.kuma
250 Ok
rcpt to:usao@usausa.usagi
250 Ok

dataと入れて、354 End data with <CR><LF>.<CR><LF>と返ってくれば、本文入力スタートです。

data
354 End data with <CR><LF>.<CR><LF>

次に入れるのは前回勉強したメールヘッダとメールの内容であるメールボディです。

メールヘッダはメールの送受信に関係しないため、何と入れても送受信には影響しません。

くまさんがうさおくんにいたずらをしたようです。

from:usako@usausa.usagi
to:usao@usausa.usagi

kirai!
.

実際に見てみるとこんなかんじ。

くまさんから送られてるはずなのに、うさこちゃんからになってますね。

(これをtelnetで打って送信した私自身もくまさんではないし、受信者もうさおくんではないので現実でもまったく違う名前になってますね。)

これで、メールヘッダーとエンベロープが一致しなくてもエンベロープが正しければ届くことがわかりますね。

また、くまさんがこのように入れたらどうなるでしょう?

from:kuma@kumatta.kuma

to:usao@usausa.usagi
hello
.

正解はこうなります。

宛先が非公開になってますね。

メールヘッダーとメールボディは空の行をはさむことで分けられます。そのため、to:~以降も本文であるように扱われてしまうのです。

このように、メールヘッダーとエンベロープの役割は異なっています。

ですが、実際にメールを打つときは宛先を入れるのは1つの欄で、後の作業はメールのソフトウェアであるメーラーがやってくれちゃう。だから2つの違いがわからないって人が多いのでしょうね。

Comments: 1

[…] This post was mentioned on Twitter by にゃぶろーP@ユリっぺ and えんどー5501, KamenReader. KamenReader said: telnetでSMTPとお話してみよう! http://dlvr.it/75sv1 […]

Leave a Reply

« | »