●SMTP AUTHのテスト

 Postfixを起動したら,SMTP AUTHのテストを行う。まずtelnetでローカルホスト,ポート25番に接続し,コマンドで「EHLO localhot」と入力し,「AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5」と表示されるかを確認する(smtpd_sasl_security_optionsでPLAINでの認証をしないように設定した場合は「250-AUTH DIGEST-MD5 CRAM-MD5」と表示される)。この段階で「250-AUTH PLAIN」だけが表示されているときには,再度インストール作業を確認する必要がある。

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 itmedia.hoge.org ESMTP Postfix
EHLO localhost ←「EHLO localhost」と入力
250-itmedia.hoge.org
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 ←これを確認
250 8BITMIME
QUIT

 なお,Outlook Expressで使用する設定を行っている場合には「AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5」の下に「250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5」も表示される。

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 itmedia.hoge.org ESMTP Postfix
EHLO localhost ←「EHLO localhost」と入力
250-itmedia.hoge.org
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 ←ログイン機能を利用する場合は表示される
250 8BITMIME
QUIT

確認ができたら一端「QUIT」で終了し,saslpasswdで設定したパスワードをエンコードし,正しく認証が行われるかをチェックしよう。

# printf 'ユーザー名\0ユーザー名\0パスワード' | mmencode

もしくは

# perl -MMIME::Base64 -e \
'print encode_base64("ユーザー名\0ユーザー名\0パスワード");'

 たとえば,テスト用に「ユーザー名:hoge」,「パスワード:hoge」でパスワードを作成してからテストする場合は,先ほど解説したように

# saslpasswd -c -u `postconf -h myhostname` hoge

とし,パスワードを作成する。そしてユーザー名とパスワードが生成されていることを確認しよう。

# sasldblistusers
user: hoge realm: itmedia.hoge.org mech: DIGEST-MD5
user: hoge realm: itmedia.hoge.org mech: PLAIN
user: hoge realm: itmedia.hoge.org mech: CRAM-MD5

 そのあとユーザー名パスワードをエンコードする

# printf 'hoge\0hoge\0hoge' | mmencode
aG9nZQBob2dlAGhvZ2U=

 Telnetでlocalhostのポート25番に接続し,EHLOのあとに「AUTH PLAIN エンコードしたユーザー名パスワード」を入力する。正しくないパスワードでのエンコードも行って正常に認証されるかテストする。

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 itmedia.hoge.org ESMTP Postfix
EHLO localhost ←「EHLO localhost」と入力
250-itmedia.homelinux.org
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250 8BITMIME
AUTH PLAIN aG9nZQBob2dlAGhvZ2U= ←エンコードしたパスワードを入力
235 Authentication successful ←認証が成功している
QUIT
221 Bye

○間違ったパスワードでテスト

 念のため,間違ったパスワードを入力してテストしてみよう。

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 itmedia.hoge.org ESMTP Postfix
EHLO localhost
250-itmedia.homelinux.org
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250 8BITMIME
AUTH PLAIN aG9nZQBob2dlAHRlc3Q= ←間違ったパスワードを入力
535 Error: authentication failed ←認証が失敗している
QUIT
221 Bye

テストが完了したらテスト用のアカウントを削除しておこう。

# saslpasswd -d -u `postconf -h myhostname` hoge

PREV 4/5 NEXT