首页 > 服务器 > Linux > Linux下配置Dovecot常见错误及解决办法
2014
11-07

Linux下配置Dovecot常见错误及解决办法

Error: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve

Groupware Error: The connection was refused. Please check the host and port number.

Dovecot Service ist nicht gestartet

root@groupware:~# /etc/init.d/dovecot restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service dovecot restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop dovecot ; start dovecot. The restart(8) utility is also available.
dovecot stop/waiting
root@groupware:~# service dovecot restart
stop: Unknown instance: 
dovecot stop/waiting
root@groupware:~# /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf
doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:26: protocols=managesieve has been renamed to protocols=sieve
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:26: 'imaps' protocol is no longer necessary, remove it
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:97: ssl_cert_file has been replaced by ssl_cert = <file
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:98: ssl_key_file has been replaced by ssl_key = <file
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:261: namespace private {} has been replaced by namespace { type=private }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:268: namespace shared {} has been replaced by namespace { type=shared }
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 707: Unknown setting: sieve_global_path
root@groupware:~# 

doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:797: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:908: passdb sql {} has been replaced by passdb { driver=sql }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:969: userdb sql {} has been replaced by userdb { driver=sql }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:998: auth_user has been replaced by service auth { user }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:1131: protocol managesieve {} has been replaced by protocol sieve { }
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 1136: Unknown setting: managesieve_logout_format

doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve

Lösung

apt-get install dovecot-sieve dovecot-managesieved

Error: dovecot: imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert=</etc/ssl/certs/ssl-cert-snakeoil.pem)

root@groupware:~# cat /var/log/mail.err May 2 18:25:53 groupware dovecot: imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert=</etc/ssl/certs/ssl-cert-snakeoil.pem) May 2 18:25:53 groupware dovecot: master: Error: service(imap-login): command startup failed, throttling

Lösung

ssl_cert =< /etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key =< /etc/ssl/private/ssl-cert-snakeoil.key

 

Error: dovecot: auth: Fatal: Unknown database driver 'mysql'

May  3 10:42:42 groupware dovecot: auth: Fatal: Unknown database driver 'mysql'
May  3 10:42:42 groupware dovecot: master: Error: service(auth): command startup failed, throttling

Lösung

apt-get install dovecot-mysql

Error: dovecot: auth: Fatal: net_connect_unix(auth-worker) in directory /run/dovecot failed: Permission denied

May  3 10:47:37 groupware dovecot: auth: Fatal: net_connect_unix(auth-worker) in directory /run/dovecot failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +r perm: /run/dovecot/auth-worker, dir owned by 0:0 mode=0755)
May  3 10:47:37 groupware dovecot: master: Error: service(auth): command startup failed, throttling

Lösung

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = mail
    mode = 0660
    user = vmail
  }
  user = nobody
}

 

Error: dovecot: auth: Fatal: No passdbs specified in configuration file. PLAIN mechanism needs one

dovecot: auth: Fatal: No passdbs specified in configuration file. PLAIN mechanism needs one

Lösung

passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}

Error: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: mail_plugin_dir: access(/usr/lib/dovecot/modules/lda) failed: No such file or directory

Lösung

mail_plugin_dir = /usr/lib/dovecot/modules

 

Error: Couldn't drop privileges: Mail access for users with UID 150 not permitted (see first_valid_uid in config file, uid from userdb lookup).

May  3 13:35:34 groupware dovecot: imap(schwarzkopf9@sensortherm.de): Error: user schwarzkopf9@sensortherm.de: Couldn't drop privileges: Mail access for users with UID 150 not permitted (see first_valid_uid in config file, uid from userdb lookup).
May  3 13:35:34 groupware dovecot: imap(schwarzkopf9@sensortherm.de): Error: Internal error occurred. Refer to server log for more information.

Lösung

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

first_valid_uid = 150
last_valid_uid = 150

Error: dovecot: lda: Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: Permission denied (euid=150(vmail) egid=8(mail) missing +r perm: /var/run/dovecot/auth-userdb, dir owned by 0:0 mode=0755)

May  3 14:07:52 groupware dovecot: lda: Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: Permission denied (euid=150(vmail) egid=8(mail) missing +r perm: /var/run/dovecot/auth-userdb, dir owned by 0:0 mode=0755)
May  3 14:07:52 groupware dovecot: lda: Fatal: Internal error occurred. Refer to server log for more information.

Lösung

Datei /etc/dovecot/conf.d/10-master.conf

service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail 
    #group = 
  }

}

Error: sieve: execution of script /home/vmail/before.sieve failed, but implicit keep was successful

dovecot: lda(schwarzkopf20@sensortherm.de): Error: sieve: execution of script /home/vmail/before.sieve failed, but implicit keep was successful

Lösung: /etc/dovecot/conf.d/15-lda.conf

lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes

编程技巧