GmailでOpenSSLを使ってコマンドラインで送信する

Tweet about this on TwitterShare on FacebookShare on Google+

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で定義されていますね、参照してみてください。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です