====== 11 telnetでSMTP ======
下記のようにtelnetでSMTPの送信確認ができる。
$ telnet fl8.jp 25
Trying 182.48.51.190...
Connected to fl8.jp (182.48.51.190).
Escape character is '^]'.
220 mail.flateight.com ESMTP unknown
helo localhost
250 mail.flateight.com
MAIL FROM:sample@example.com ← 送信元アドレスを指定。(偽装可能)
250 2.1.0 Ok
RCPT TO:sample@gmail.com ← 宛先アドレスを指定。
250 2.1.5 Ok
DATA ← メールデータの転送開始。
354 End data with .
SUBJECT this is test ← 件名を指定。
test mail ← 本文を入力。
. ← 本文の入力の最後は「.」のみを入力しEnter
250 2.0.0 Ok: queued as 8D47633010A ← キューへの格納確認。
QUIT ← 接続切断。
221 2.0.0 Bye
Connection closed by foreign host.
===== SMTP-AUTH =====
下記の3種類の認証方式があります。
SMTP-AUTH後は、通常のメール送信の通りに送ります。
AUTH PALIN
AUTH LOGIN
AUTH CRAM-MD5
このユーザ名/パスワードを例とする。
username: username
password: password
==== AUTH PALINの場合 ====
$ printf '\000username\000password' | base64
AHVzZXJuYW1lAHBhc3N3b3Jk
・ちゃんとデコードできるようならOK
$ printf 'AHVzZXJuYW1lAHBhc3N3b3Jk' | base64 -d
usernamepassword
「Authentication successful」と出れば、認証OK
# telnet fl8.jp 587
Trying 182.48.51.190...
Connected to fl8.jp (182.48.51.190).
Escape character is '^]'.
220 mail.flateight.com ESMTP unknown
helo localhost
250 mail.flateight.com
auth plain AHVzZXJuYW1lAHBhc3N3b3Jk
235 2.0.0 Authentication successful
quit
==== AUTH LOGINの場合 ====
$ printf 'username' | base64
dXNlcm5hbWU=
$ printf 'password' | base64
cGFzc3dvcmQ=
ユーザ名(334 VXNlcm5hbWU6)パスワード(334 UGFzc3dvcmQ6)の順にエンコードされたユーザ名・パスワードを入力する。
「Authentication successful」が出れば認証OK
# telnet fl8.jp 587
Trying 182.48.51.190...
Connected to fl8.jp (182.48.51.190).
Escape character is '^]'.
220 mail.flateight.com ESMTP unknown
helo localhost
250 mail.flateight.com
auth login
334 VXNlcm5hbWU6
dXNlcm5hbWU=
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 2.0.0 Authentication successful
quit
===== SMTPS(465)の場合 =====
SMTPS(465)の場合は、opensslで接続する。
接続後は、通常のSMTPと同じようにメールコマンドで送信する。
# openssl s_client -connect fl8.jp:465
CONNECTED(00000003)
depth=0 /C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
verify error:num=18:self signed certificate
verify return:1
depth=0 /C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
verify error:num=10:certificate has expired
notAfter=Dec 3 07:46:40 2010 GMT
verify return:1
depth=0 /C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
notAfter=Dec 3 07:46:40 2010 GMT
verify return:1
---
Certificate chain
0 s:/C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
i:/C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDiTCCAvKgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBkDELMAkGA1UEBhMCSkEx
DTALBgNVBAgTBEl0b2gxDzANBgNVBAcTBk5hZ2FubzENMAsGA1UEChMESVRPSDER
MA8GA1UECxMIU29sdXRpb24xHDAaBgNVBAMTE2Nsb3VkLmZsYXRlaWdodC5jb20x
ITAfBgkqhkiG9w0BCQEWEm1hdHN1aUBtYTIxLmF0aC5jeDAeFw0wOTEyMDMwNzQ2
NDBaFw0xMDEyMDMwNzQ2NDBaMIGQMQswCQYDVQQGEwJKQTENMAsGA1UECBMESXRv
aDEPMA0GA1UEBxMGTmFnYW5vMQ0wCwYDVQQKEwRJVE9IMREwDwYDVQQLEwhTb2x1
dGlvbjEcMBoGA1UEAxMTY2xvdWQuZmxhdGVpZ2h0LmNvbTEhMB8GCSqGSIb3DQEJ
ARYSbWF0c3VpQG1hMjEuYXRoLmN4MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQC9d/inADAS1sDdYC98XMVgeMV4Ro+32PWGJCc0pW7JuNWMdmTcz7P8eBTSDBSM
IRZJVoCjWDlnIR9wvkgMdlwiF9PmnzqoG4gxiZGKx5tltFeCtet0UxcsozNchYGg
ZVaAwy3xUclyf1O8V3mlDAsydltdP1Q80qKJ+tA/MOhyHwIDAQABo4HwMIHtMB0G
A1UdDgQWBBSnpShA4V5buTcbuFLu+K2N2hYaNjCBvQYDVR0jBIG1MIGygBSnpShA
4V5buTcbuFLu+K2N2hYaNqGBlqSBkzCBkDELMAkGA1UEBhMCSkExDTALBgNVBAgT
BEl0b2gxDzANBgNVBAcTBk5hZ2FubzENMAsGA1UEChMESVRPSDERMA8GA1UECxMI
U29sdXRpb24xHDAaBgNVBAMTE2Nsb3VkLmZsYXRlaWdodC5jb20xITAfBgkqhkiG
9w0BCQEWEm1hdHN1aUBtYTIxLmF0aC5jeIIBADAMBgNVHRMEBTADAQH/MA0GCSqG
SIb3DQEBBQUAA4GBADBgtI6Yao0uVgnRS7nv8Oi2qbxWXgFMO7dC2p+q/C/TNNog
PxiVYdFoat997JjNKIRSmtoj9lIyymPEjfod+hsiSzMPvUnGz6JrbclqhP3jpunA
i8E36ow21Kx2dArLREZhdTmTgP4WX7bqK5JvmGacI5NEN/QrdiiQoVxOEdp6
-----END CERTIFICATE-----
subject=/C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
issuer=/C=JA/ST=Itoh/L=Nagano/O=ITOH/OU=Solution/CN=cloud.flateight.com/emailAddress=matsui@ma21.ath.cx
---
No client certificate CA names sent
---
SSL handshake has read 1480 bytes and written 319 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 2FC2097C6912A922C64BC7152A05F5E082BA559EE2205886595073C41E4A5733
Session-ID-ctx:
Master-Key: 869F65CB8012CF12D8A1ED2DFB2432660B540C668A2455CBFCAFCCB391340C3639F648403B09A400445C8802B8F5F698
Key-Arg : None
Krb5 Principal: None
Start Time: 1470296089
Timeout : 300 (sec)
Verify return code: 10 (certificate has expired)
---
220 mail.flateight.com ESMTP unknown
helo localhost
250 mail.flateight.com
auth plain AHVzZXJuYW1lAHBhc3N3b3Jk
235 2.0.0 Authentication successful
===== Gmailへのメール送信確認 =====
==== OKパターン ====
# (echo "EHLO mail.fl8.jp"; sleep 1
echo "MAIL FROM: "; sleep 1
echo "RCPT TO: "; sleep 1
echo "DATA"; sleep 1
echo "Date: `date -R`"; sleep 1
echo "Subject: TEST Mail"; sleep 1
echo "From: matsui@fl8.jp"; sleep 1
echo "To: hoge@gmail.com"; sleep 1
echo ""
echo "Content"
echo ""
echo "."; sleep 1
echo ""
echo "quit") | telnet gmail-smtp-in.l.google.com 25
Trying 108.177.97.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP z143si3893498pfc.64 - gsmtp
250-mx.google.com at your service, [XXX.XXX.XXX.XX]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
250 2.1.0 OK cn16si3626205plb.174 - gsmtp
250 2.1.5 OK cn16si3626205plb.174 - gsmtp
354 Go ahead cn16si3626205plb.174 - gsmtp
250 2.0.0 OK 1555630403 z143si3893498pfc.64 - gsmtp
Connection closed by foreign host.
==== NGパターン ====
# (echo "EHLO mail.fl8.jp"; sleep 1
echo "MAIL FROM: "; sleep 1
echo "RCPT TO: "; sleep 1
echo "DATA"; sleep 1
echo "Date: `date -R`"; sleep 1
echo "Subject: TEST Mail"; sleep 1
echo "From: matsui@fl8.jp"; sleep 1
echo "To: hoge@gmail.com"; sleep 1
echo ""
echo "Content"
echo ""
echo "."; sleep 1
echo ""
echo "quit") | telnet gmail-smtp-in.l.google.com 25
Trying 108.177.97.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP z143si3893498pfc.64 - gsmtp
250-mx.google.com at your service, [XXX.XXX.XXX.XX]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
250 2.1.0 OK z143si3893498pfc.64 - gsmtp
250 2.1.5 OK z143si3893498pfc.64 - gsmtp
354 Go ahead z143si3893498pfc.64 - gsmtp
550-5.7.1 [153.122.116.49 18] Our system has detected that this message is
550-5.7.1 likely suspicious due to the very low reputation of the sending IP
550-5.7.1 address. To best protect our users from spam, the message has been
550-5.7.1 blocked. Please visit
550 5.7.1 https://support.google.com/mail/answer/188131 for more information. z143si3893498pfc.64 - gsmtp
Connection closed by foreign host.
{{tag>smtp}}