メール送信に必要なtelnetコマンド

Postfix


ポート25によるtelnetコマンドでのメール送信


[root@www13154uf ~]# telnet localhost 25	<-- localhostに25番で接続。
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.hogehoge.jp ESMTP unknown
helo localhost					<-- ご挨拶
250 mail.hogehoge.jp
mail from:hogehogehoge@inamuu.com		<-- メール送信元
250 2.1.0 Ok
rcpt to:hogehoge@hogehogehoge.com		<-- メール送信先
250 2.1.5 Ok
data						<-- メールの本文を書くよと宣言
354 End data with <CR><LF>.<CR><LF>
test mail dayo					<-- 本文を書いてみる
.						<-- ピリオドは本文終了の意味
250 2.0.0 Ok: queued as 7AAAE60687
quit						<-- メール送信の終了
221 2.0.0 Bye
Connection closed by foreign host.

ポート587で送信認証を通してメール送信

パターン1

telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.hogehoge.com ESMTP unknown
ehlo localhost
250-mail.hogehoge.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain base64エンコードしたパスワード   <--- ここで認証
235 2.7.0 Authentication successful
mail from:hoge@hogehoge.com       <--- 送信元 
250 2.1.0 Ok
rcpt to:test@hoge2.com          <--- 送信先
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
test 587
.
250 2.0.0 Ok: queued as CA90442C1E

パターン2

$ telnet smtp.hogehoge.com 587   <--- 587への接続 
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 smtp.hogehoge.com ESMTP qpsmtpd 0.80 ready; send us your mail, but not your spam.
ehlo smtp.hogehoge.com           <--- こんにちは
250-smtp.hogehoge.com Hi Unknown [172.19.0.1]
250-PIPELINING
250-8BITMIME
250-SIZE 10240000
250 AUTH PLAIN LOGIN CRAM-MD5
auth plain base64エンコードしたパスワード   <--- 認証情報を入力
235 Authentication successful for test@hogehoge.com - authsql/plain
mail from: <test@hogehoge.com>
250 <test@hogehoge.com>, sender OK - how exciting to get mail from you!
rcpt to: <info@piyopiyo.com>
250 <info@piyopiyo.com>, recipient ok
data
354 go ahead
Suebject: TEST MAIL 587                <--- 件名
                                        <--- 空行
TEST MAIL 587                          <--- 本文
.                                      <--- 終わりを表すピリオド
250 Queued!  (Queue-Id: AF3EC34C5)
quit                                           <--- 接続おわり
221 smtp.hogehoge.com closing connection. Have a wonderful day.
Connection closed by foreign host.

base64エンコードするためのコマンド

printf "%s\0%s\0%s" ユーザー名 ユーザー名 パスワード | openssl base64 -e | tr -d '\n'; echo

base64デコード

echo "文字列" | openssl enc -d -base64

ポート465でAUTH LOGINでSMTP認証をして送信する

最初にユーザー名とパスワードをbase64でエンコードする

printf ユーザー名 | base64
printf パスワード | base64

openssl s_clientで送信する

openssl s_client -connect メールサーバー:465
helo メールサーバー
250 メールサーバー
AUTH LOGIN
334 VXNlcm5hbWU6
エンコードしたユーザー名
334 UGFzc3dvcmQ6
エンコードしたパスワード
235 ok authed
mail from: 送信元
250 ok
rcpt to: 宛先
250 ok
data
354 Enter mail
test mail
.
250 ok 1476933774 qp 23764

imapの受信

$ telnet メールサーバー 143
* OK
a01 login アカウント名 パスワード
a01 OK LOGIN Ok.
a02 select inbox
a03 fetch メール番号 body[]
a04 logout

imapでメールの一覧を取得

a06 search all
* SEARCH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
a06 OK SEARCH done.