Gmailでのメール送信を解析するためにコマンドラインでメールを送信したいと思います。
GmailのSMTPサーバーを使う為にはセキュリティー強化のためSSL/TLSで暗号化送信が必要になります。そこで、今回は「※1.OpenSSL 」を使ってメールを送信します。
1.ユーザーの認証時に必要となるユーザー名、パスワードをBase64エンコードしたものを作成します。今回はperlを使ってエンコード文字列を作成します。
$perl -MMIME::Base64 -e ‘print encode_base64(“\000ユーザー名\@gmail.com\000パスワード”)’
(※nul文字に\000を使わないといけないみたいです。)
2.以下、コマンド入力した部分を抜粋(※最後の .も必要です。)
$openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587
AUTH PLAIN
1.で作成した文字列
MAIL FROM: < 自分のメールアドレス >
RCPT TO: < 相手のメールアドレス >
DATA
SUBJECT: 件名
メッセージ
.
「AUTH PLAIN」、「MAIL FROM」・・・はメールを送信する為のSMTPプロトコルで定義された※2.識別子です、これで、無事にメールが送信されました。
※1.SSL/TLSを実現するためのオープンソースのツールです。(インストールが必要です。)
※2.RFCで定義されていますね、参照してみてください。