#author("2018-07-03T07:53:51+00:00","","") // 下階層用テンプレート #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名]\[Username]という値がBase644されて、AUTH LOGIN に渡されてました。 -- [[きの]] &new{2018-07-03 (火) 16:52:21}; - とあるサーバアプリだと、設定に「SMTP Domain」というフィールドがあります。その設定を入れると[Domain名]\[Username]という値がBase64されて、AUTH LOGIN に渡されてました。 -- [[きの]] &new{2018-07-03 (火) 16:53:51}; #comment #topicpath SIZE(10){現在のアクセス:&counter;}