脱力系備忘録BloG ホーム  »  ログ » 2013年03月

GMAILのSMTPをコマンドで直接操作する  

外部メールサーバーのSMTPをPHPで操作する必要があって、その動きを知るためGMAILの送信サーバーをコマンドラインで操作して勉強してみた備忘録。

GMAILのSMTPは「SMTP over SSL」という仕組みで動いているので、自分の環境にOPENSSLが入っていることを前提とします。


さて、それではGMAILのSMTPに直接アクセスしてみましょう。
なお、緑色の文字が自分で入力する文字で、ピンク色がサーバーの返答です。

※メール本文の入力終了を意味する「.」を認識しないときがあるので、「-crlf」を付けておく。
> openssl s_client -crlf -connect smtp.gmail.com:465

CONNECTED(00000003)
〜ずらずらと表示される〜
220 mx.google.com ESMTP 〜 - gsmtp


もしくは

> openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587
CONNECTED(00000003)
〜ずらずらと表示される〜
250 ENHANCEDSTATUSCODES


ehlo
250-mx.google.com at your service, [***.***.***.***]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH XOAUTH2
250 ENHANCEDSTATUSCODES

auth login
334 XXXXXXXXXXXX
base64でエンコードしたGMAILメールアドレス
334 XXXXXXXXXXXX
base64でエンコードしたGMAILパスワード
235 2.7.0 Accepted
mail from:<ログインしたGMAILアドレス>
250 2.1.0 OK 〜
rcpt to:<送信先メールアドレス>
250 2.1.5 OK 〜
data※ここからメールデータの入力開始
354 Go ahead 〜
subject:test mail ※件名
This is test mail from gmail ※本文
. ※このピリオドでメールデータの入力終了

250 2.0.0 OK 〜
quit
221 2.0.0 closing connection 〜

これで送信されているはずなので、送信先アドレスにメールが届いているか確認してみましょう。
このやり方の肝は、ログインメールアドレスとパスワードをBASE64でエンコードするということでしょうか。
エンコードせずに打ち込んでもエラーになりますのでご注意を。

category: サーバー

コメント: (0)   トラックバック: --

プロフィール

最近の記事

最近のコメント

セルスタードライブレコーダー CSD-570FH 日本製3年保証 駐車監視 GPS 2.4インチタッチパネル Full HD画質 3年保証 駐車監視 GPS 2.4インチタッチパネル Full HD画質

▲ Pagetop