- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-07-03T07:28:51+00:00","default:masatomix","masatomix")
#author("2018-07-03T08:07:59+00:00","default:masatomix","masatomix")
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
Yahoo のメールアドレス(例として xxx@yahoo.co.jp ) にTelnetでメール送信するサンプル。
ID(アドレス): hoge@example.com ← 実際はxxx@yahoo.co.jp
パスワード: hogehoge
だったとします。
** AUTH PLAINでやる [#q18037e9]
***事前準備: 認証情報の作成 [#j45786b6]
$ printf "%s\0%s\0%s" hoge@example.com hoge@example.com hogehoge | base64
aG9nZUBleGFtcGxlLmNvbQBob2dlQGV4YW1wbGUuY29tAGhvZ2Vob2dl
AUTH PLAINでは上記のように、IDとパスワードを一つにした文字をBase64エンコードして、平文で送信します。
***やってみる [#gbc9a894]
$ telnet smtp.mail.yahoo.co.jp 587
Trying 182.22.109.124...
Connected to smtp.mail.g.yahoo.co.jp.
Escape character is '^]'.
220 smtp6003.mail.ssk.ynwp.yahoo.co.jp ESMTP
EHLO localhost ←入力
250-smtp6003.mail.ssk.ynwp.yahoo.co.jp
250-AUTH LOGIN PLAIN XYMCOOKIE
250-PIPELINING
250 8BITMIME
AUTH PLAIN aG9nZUBleGFtcGxlLmNvbQBob2dlQGV4YW1wbGUuY29tAGhvZ2Vob2dl ←さっきの認証情報入力
235 ok, go ahead (#2.0.0)
MAIL FROM:hoge@example.com ← 送信元のアカウント
250 ok
RCPT TO:hogeto@example.com ← 送信先のアカウント
250 ok
DATA ←入力
354 go ahead
Subject: hogehoge ←こっから、ドットまでは、メールのデータ部
From: hoge@example.com
To: hogeto@example.com
hello!
.
250 ok 1530601719 qp 9006
quit ←入力して、終了
221 smtp6003.mail.ssk.ynwp.yahoo.co.jp
Connection closed by foreign host.
$
送信できたかとおもいます。
**AUTH LOGINでやる [#if04af9f]
***事前準備: 認証情報の作成 [#m9fc0ad4]
$ printf "hoge@example.com" | base64
aG9nZUBleGFtcGxlLmNvbQ==
$ printf "hogehoge" | base64
aG9nZWhvZ2U=
AUTH LOGINでは上記のように、IDとパスワードを別々にBase64エンコードして、平文で送信します。
***やってみる [#p3065e76]
$ telnet smtp.mail.yahoo.co.jp 587
Trying 182.22.109.124...
Connected to smtp.mail.g.yahoo.co.jp.
Escape character is '^]'.
220 smtp6010.mail.ssk.ynwp.yahoo.co.jp ESMTP
EHLO localhost ←入力
250-smtp6010.mail.ssk.ynwp.yahoo.co.jp
250-AUTH LOGIN PLAIN XYMCOOKIE
250-PIPELINING
250 8BITMIME
AUTH LOGIN ←入力
334 VXNlcm5hbWU6 ← Username: って聞いてきてるので
aG9nZUBleGFtcGxlLmNvbQ== ←さっきの認証情報(ID)入力
334 UGFzc3dvcmQ6 ← Password: って聞いてきてるので
aG9nZWhvZ2U= ←さっきの認証情報(パスワード)入力
235 ok, go ahead (#2.0.0)
MAIL FROM:hoge@example.com ← 送信元のアカウント
250 ok
RCPT TO:hogeto@example.com ← 送信先のアカウント
250 ok
DATA ←こっから、ドットまでは、メールのデータ部
354 go ahead
Subject: hogehoge
From: hoge@example.com
To: hogeto@example.com
hello!
.
quit250 ok 1530602307 qp 28758
221 smtp6010.mail.ssk.ynwp.yahoo.co.jp
送信できたかとおもいます。
**関連リンク [#w7b3f614]
-[[telnetからSMTPを使ってメール送信 - Qiita>https://qiita.com/sheepland/items/973198fa80f0213fe5a1]]
-[[telnetでメール送信>http://ash.jp/net/telnet_smtp.htm]]
----
この記事は
#vote(おもしろかった,そうでもない)
- とあるサーバアプリだと、設定に「SMTP Domain」というフィールドがあります。その設定を入れると[Domain名]\0[Username]という値がBase64されて、AUTH LOGIN に渡されてました。つまり
printf "%s\0%s" [Domain名] [Username] | base64
です -- [[きの]] &new{2018-07-03 (火) 16:52:21};
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}