telnet(openssl s_client)でGmail送ってみるよ
GmailのSMTPサーバの基本的な情報はここに載ってる
http://mail.google.com/support/bin/answer.py?answer=78799
サーバ: smtp.gmail.com
ポート: 465 or 587
アカウント: xxxxxxxx@gmail.com
パスワード: yyyyyyyy(Gmailのパスワード)
Use STARTTLS
STARTTLSを使用するのでサーバへの接続は
openssl s_clientを使用します。
$ openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587
接続できたらehlo
ehlo localhost 250-AUTH LOGIN PLAIN XOAUTH
次はSMTP-AUTH認証を行ないます。
認証方式はPLAINでやってみます。
AUTH PLAINでは
アカウント\0アカウント\0パスワード
をbase64エンコードした文字列を使用します。
ところでヌル文字の扱いがよくわかってないです。Emacsのbase64-encode-string関数使ったんだけど、\0ではだめで、変わりに\000でやったらうまくいった。
auth plain base64エンコードした文字列 235 2.7.0 Accepted
Acceptedが帰ってきたらあとはよくある感じで
mail from: <xxxxxxxx@gmail.com> 250 2.1.0 OK rcpt to: <yyyyyyyy@hoge.jp>; 250 2.1.5 OK data 354 Go ahead From: me<xxxxxxxxx@gmail.com>; To: someone<yyyyyyyyy@hoge.jp>; Subject: hoge foobar . 250 2.0.0 OK
以上。メールが送れたらめでたし。