●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 |
4/5 |