http://workaround.org/ispmail/squeeze/setting-up-dovecot に沿ってメールサーバーをセットアップしています。私は過去にそれを成功させましたが、今回の唯一の問題は、dovecotがいくつかの異なる設定ファイルでバージョン2に移行したことです。
Dovecotのドキュメントに従って、古い作業中のdovecot.confをバージョン1.2.15から変換しました。そこから、論理的で小さな変更を加えました。
Dovecotは起動しますが、コマンドラインからtelnet localhost110を介して簡単な手動ログインを行うことはできません。エラーが発生します:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign Host.
どのdovecotプロセスが実行されているかを確認すると、次のことがわかります。
116:root 5139 0.0 0.0 21516 884 ? Ss 09:41 0:00 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf
117:dovecot 5142 0.0 0.0 13044 1044 ? S 09:41 0:00 dovecot/anvil
118:root 5143 0.0 0.0 13172 1212 ? S 09:41 0:00 dovecot/log
119:root 5145 0.0 0.0 23424 3212 ? S 09:41 0:00 dovecot/config
124:root 5374 0.0 0.0 7832 888 pts/1 S+ 09:57 0:00 grep -n --color=always dovecot
そしてこれらだけ。 pop3-loginプロセスとimap-loginプロセスが表示されません。
しかし、netstat -tapを実行すると、ポートが正しくリッスンしていることがわかります。
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:pop3 *:* LISTEN 3960/dovecot
tcp 0 0 *:imap2 *:* LISTEN 3960/dovecot
なぜこれが私にログインをさせないのかについての考えをいただければ幸いです。鳩小屋のログは私に有用なものを何も示していません。私もそれを取り除いたので、それはファイアウォールの問題ではありません。
以下に私の設定ファイルの設定を見つけてください。
ありがとうございました。
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-AMD64 x86_64 Debian 7.1 ext3
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = plain login
auth_verbose = yes
debug_log_path = /var/log/dovecot/dovecot-debug.log
disable_plaintext_auth = no
log_path = /var/log/dovecot/dovecot-deliver.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_debug = yes
mail_location = maildir:/var/vmail/%d/%n/Maildir
mail_plugins = " quota"
mail_privileged_group = mail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
driver = pam
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
quota = maildir:storage=1000000
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_global_path = /var/vmail/globalsieverc
}
protocols = " imap pop3"
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = root
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service imap {
process_limit = 1024
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
service pop3 {
process_limit = 1024
}
ssl_cert = </etc/dovecot/dovecot.pem
ssl_cert_username_field = example.com
ssl_key = </etc/dovecot/private/dovecot.pem
ssl_key_password = secretsecret
userdb {
driver = passwd
}
userdb {
args = uid=5000 gid=5000 home=/var/vmail/%d/%n allow_all_users=yes
driver = static
}
verbose_ssl = yes
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
log_path = /var/log/dovecot/dovecot-deliver.log
mail_plugins = sieve
postmaster_address = [email protected]
}
protocol imap {
mail_plugins = " quota imap_quota"
}
protocol pop3 {
mail_plugins = " quota"
pop3_uidl_format = %08Xu%08Xv
}
}
解決済み-
私の場合、以前に独自のssl証明書を作成し、dovecotに証明書を使用させようとしました。 dovecotが正しく機能しない場合は、dovecotとともにデフォルトでインストールされているSSLペムに戻りました。しかし、私は2行をコメントアウトすることを怠りました:
ssl_cert_username_field = example.com
ssl_key_password = secretsecret
両方ともconf.d/10-ssl.confにあります。
これらは、私が作成したssl証明書に関連付けられています。彼らはdovecotのデフォルトのpemとは何の関係もありませんでした。
これらの2行をコメントアウトすると、すべてが正常に機能し始めました。
別の非Dovecotペムを使用することにした場合は、コメントを解除する必要があります。
Telnet経由で接続を試みた後、/ var/log/maillogでメールログを確認してください。 Dovecotが起動する場合がありますが、設定にエラーがあります。この方法で設定のタイプミスが原因のバグを見つけました。