2012年9月12日水曜日

"stunnel"経由でSESに"telnet"で直接メール送信

スズキです。

以前、下記でPostfixからSESへのリレーの準備として"stunnel"でSESにつなぎました。
PostfixからSESにリレー(stunnel編)
今回は直接SMTPで"stunnel"経由のSESでメールを送信してみます。

まずは"stunnel"に"telnet"です。
# telnet localhost 2525
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-264224127
SESからのレスポンスがかえってきます。

次にEHLO(localhost)コマンドを実行します
EHLO localhost
250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-AUTH PLAIN LOGIN
250 Ok
認証タイプにPLAINとLOGINが利用できることがわかります。

今回AUTHコマンドでLOGIN指定します。
AUTH LOGIN
334 VXNlcm5hbWU6
LOGINはBASE64にエンコードしたユーザー(アクセスキー)と
パスワード(シークレットキー)を別々に入力します。

BASE64のエンコードは下記のようにすることができます。
perl -MMIME::Base64 -e 'print encode_base64("アクセスキー");'
perl -MMIME::Base64 -e 'print encode_base64("シークレットキー");'
当然、アクセスキー、シークレットキーはSESが利用できるユーザーのものです。

まずはBASE64にしたアクセスキー(ユーザー)を入力します。
[アクセスキーをBASE64したもの]
334 UGFzc3dvcmQ6
するとパスワード(シークレットキー)が求められます。

そしてBASE64にしたシークレットキーを入力します。
[シークレットキーをBASE64したもの]
235 Authentication successful.
問題なければ認証が成功します。

あとは、よく目にする、SMTPのコマンドでメールを送信します。
MAIL FROM:suzuki@suz-lab.com
250 Ok
RCPT TO:suzuki@suz-lab.com
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: test10

test10
.
250 Ok 00000139b5f98021-c9e0b8d5-1d2a-415f-aae2-e057fbb7a690-000000
QUIT
221 Bye
Connection closed by foreign host.
FROMとTOがSESで認証されたメールアドレスなら、
SESからメールが送信されてくるはずです。
(プロダクションモードの場合はTOは何でもOKです)

最後に再度、SMTPコマンドのやり取りの全体を掲載しておきます。
# telnet localhost 2525
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-264224127
EHLO localhost
250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-AUTH PLAIN LOGIN
250 Ok
AUTH LOGIN
334 VXNlcm5hbWU6
[アクセスキーをBASE64したもの]
334 UGFzc3dvcmQ6
[シークレットキーをBASE64したもの]
235 Authentication successful.
MAIL FROM:suzuki@suz-lab.com
250 Ok
RCPT TO:suzuki@suz-lab.com
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: test10

test10
.
250 Ok 00000139b5f98021-c9e0b8d5-1d2a-415f-aae2-e057fbb7a690-000000
QUIT
221 Bye
Connection closed by foreign host.

次はようやくPostfixのリレーの設定。
--------
http://www.suz-lab.com/

0 コメント: