OS X 10.11.6 El Capitan + dovecot (2.3.13, via MacPorts) で検証。
設定の一覧
# doveconf
構文エラーチェック(管理者権限で行う。エラーは冒頭で言ってきます。)
# doveconf -n | head
設定ファイル群の確認。設定を切り分けて conf.d に格納しているようだ。
$ ls -la /opt/local/etc/dovecot/
$ ls -la /opt/local/etc/dovecot/conf.d/
dovecot.confに変更を加える。
# cp /opt/local/etc/dovecot/dovecot.conf /opt/local/etc/dovecot/dovecot.conf.original
# vi /opt/local/etc/dovecot/dovecot.conf
protocols = imap pop3
base_dir = /opt/local/var/run/dovecot
default_login_user = _dovenull
default_internal_user = _dovecot
mail_location = maildir:~/Maildir
そのほかは先人のページと同じ。
10-auth.confファイルの変更
disable_plaintext_auth = no
!include auth-system.conf.ext
auth-system.conf.extファイルの変更
passdb {
driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=]
# [cache_key=] []
#args = dovecot
args = login
}
10-logging.confファイルの変更
log_path = syslog
syslog_facility = mail
というわけで、ログはこちら
/var/log/mail.sys
10-mail.confファイルの変更
mail_location = maildir:~/Maildir
10-ssl.confファイルの変更。ここは後日 SSL yes にする予定。
ssl = no
10-master.confファイルの変更
default_client_limit = 1000
default_login_user = _dovenull
default_internal_user = _dovecot
service imap-login {
inet_listener imap {
port = 143
process_min_avail = 60
service pop3-login {
inet_listener pop3 {
port = 110
process_min_avail = 60
}
service submission-login {
inet_listener submission {
port = 587
}
}
20-imap.confファイルの変更
mail_max_userip_connections = 100
ここまでで設定が問題ないかチェック。どこでつまずいたか分かりやすいために、こまめにチェックした方がいいと思う。
# doveconf | head
# launchctl stop /Library/LaunchDaeomn/org.macport.devocot.plist
# launchctl start /Library/LaunchDaeomn/org.macport.devocot.plist
メーラーで接続したらちゃんとメールを受け取れているようだ。
ターミナルコマンドtelnetを使用したPOP3メールの受信
$ telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
USER myname
+OK
PASS mypassword
+OK Logged in.
LIST
+OK 3 messages:
1 2274
2 2278
3 2041
.
RETR 3
+OK 2279 octets
Return-Path: <name@example.com>
X-Original-To: name@example.com
Delivered-To: name@example.com
(省略)
テストメール
.
QUIT
+OK Logging out.
Connection closed by foreign host.
IMAPでの接続
$ telnet localhost 143
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot ready.
a login yourAccountName yourPassword
a OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE] Logged in
a list "" *
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \UnMarked \Trash) "." Trash
* LIST (\HasNoChildren) "." INBOX
a OK List completed (0.004 + 0.000 + 0.003 secs).
a SELECT INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 6 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1617440424] UIDs valid
* OK [UIDNEXT 7] Predicted next UID
a OK [READ-WRITE] Select completed (0.001 + 0.000 + 0.001 secs).
a fetch 1 body[]
(メールの内容が表示される。省略)
a logout
* BYE Logging out
a OK Logout completed (0.001 + 0.000 secs).
Connection closed by foreign host.
こちらのサイトを参考にさせて頂きました。ありがとうございます。
エラーを吐いた。
Warning: fd limit (ulimit -n) is lower than required under max. load (256 < 1000), because of default_client_count
# ulimit -n 1024
こちらのページからパチリました。ありがとうございます。