③ 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.
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.
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 件のコメント:
コメントを投稿