2015年3月5日木曜日

【CentOS6.5】【Postfix】【Dovecot】メールサーバのクイックセットアップ②

その①から続いて、

③ Dovecotの設定


/etc/dovecot/conf.d/10-mail.conf

     mail_location = maildir:~/Maildir

       (/etc/postfix/main.cfの設定がMailboxだった場合は、
    mail_location = mbox:~/mail:INBOX=/var/mail/%u
         その場合、/var/mail/%uのアクセス権限を変更する必要あり)

/etc/dovecot/conf.d/10-auth.conf

     disable_plaintext_auth = no

       平文でのパスワード認証を禁止するか設定
       テストの段階では、暗号化はしないのでとりあえずnoに設定

Dovecot を起動(既に動いていれば、再起動)する。
# service dovecot start

④ telnetで接続して動作確認してみる。


Dovecot(POPサーバ)への接続

→ ログイン&受信メールの確認をしてみる。
→ 予め『testuser』というユーザ用のアカウントを作成し、パスワードも付与。
  # useradd testuser
    # passwd testuser

 $ telnet localhost 110
 Trying ::1...
 Connected to localhost.
 Escape character is '^]'.
 +OK Dovecot ready.
 USER testuser  (←『 USER サーバのユーザアカウント』 を入力)
 +OK
 PASS xxxxxx  (←『 PASS アカウントのパスワード』 を入力)
 +OK Logged in.
 LIST (←受け取ったメールを確認する)
 +OK 3 messages: (← 予めメールを送っておけば、届いているのが確認できる)
 1 1060 (← 3通のメールが届いている)
 2 1113
 3 1852.
 TOP 1 (←1番目のメールのヘッダを表示)
 (省略)
 RETR 1 (←1番目のメールのボディを表示)
 (省略)
 QUIT  (← telnet から抜ける。)
 +OK Logging out.
 Connection closed by foreign host.

Postfix(SMTPサーバ) への接続

→ メールを送信してみる。

 $ telnet localhost 25
 Trying ::1...
 Connected to localhost.
 Escape character is '^]'.
 220 mail.xxx.mydns.jp ESMTP Postfix
 EHLO mail.xxx.mydns.jp (← 『EHLO ホスト名』を入力)
 250-mail.xxx.mydns.jp
 250-PIPELINING
 250-SIZE 10240000
 250-VRFY
 250-ETRN
 250-ENHANCEDSTATUSCODES
 250-8BITMIME
 250 DSN
 MAIL FROM:<testuser@xxx.mydns.jp> (← 『MAIL FROM:<送信元アドレス>』を入力) 
 250 2.1.0 Ok
 RCPT TO:<送信先のメールアドレス> (← 『RCPT TO:<送信先のメールアドレス>』を入力)
 250 2.1.5 Ok
 DATA
 354 End data with <CR><LF>.<CR><LF>
 Test (←メール本文を入力する)
 . (←メール本文を終了する)
 250 2.0.0 Ok: queued as 860ADBF609
 QUIT  (← telnet から抜ける。)
 221 2.0.0 Bye
 Connection closed by foreign host.

⑤ MUA(Thunderbird)を使って送受信してみる。


ツール > アカウント設定 > アカウント操作 > メールアカウントを追加

メールアドレスは、『 ユーザアカウント@mydomain 』
パスワードは、アカウントのパスワード


続けるを押下した後、手動設定


サーバのホスト名等を入力して、再テスト → 完了


セキュリティ警告が出てくるが、取り敢えず了解しておく。

試しに他のメールアカウントと送受信してみる。 

受信は問題なく行えるはずだが、送信に関しては、私の様にVPSを使って外部のネットワーク
から接続している場合、“Relay access denied” となって、送信に失敗する。

これは、/etc/postfix/main.cf がデフォルトで

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
(この設定はmain.cfには記入されていないが、postconf -d コマンドで確認できる)

と設定されており、外部ネットワークからのリレーを許可しないからだ。
送信メール認証の設定後、下記の様に設定変更すれば、送信可能になる。

smtpd_recipient_restrictions = permit_mynetworks,
                                                  permit_sasl_authenticated,
                                                  (認証を通過すればリレーを許可)
                                                  reject_unauth_destination

※VPSではなく自宅のサーバでも同様の事象が起こったので、上記の説明は誤っている可能性が高い。但し、自宅サーバでも認証設定後には正常に送信できた。(2016/05/06追記)

この段階で、どうしても送信テストしたい場合は、main.cf のmynetworks に、MUAを使うクライアントのIPアドレスを追加してやれば送信できる。ただし、ダイナミックIPアドレスの場合、IPアドレスが変わってしまうので、一時的なテストに留めておいた方が良いと思う。

最小限の設定は以上。
ここから、暗号化や認証等の設定を追加していく。

0 件のコメント:

コメントを投稿