dovecot 不允许我 telnet localhost 110 -- imap 和 pop3-login 无法启动

dovecot 不允许我 telnet localhost 110 -- imap 和 pop3-login 无法启动

我正在设置一个邮件服务器http://workaround.org/ispmail/squeeze/setting-up-dovecot。我以前曾成功地做到过,这次唯一的问题是 dovecot 已升级到版本 2,并带有一些不同的配置文件。

根据 dovecot 的文档,我将旧的 dovecot.conf 从版本 1.2.15 转换过来。然后我做了一些看似合乎逻辑的小改动。

Dovecot 启动了,但不允许我从命令行通过 telnet localhost 110 进行简单的手动登录。我收到错误:

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 

如果有人能告诉我为什么我不能登录,我将非常感激。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
    }
}

答案1

解决了 -

就我而言,我之前创建了自己的 SSL 证书,并尝试让 dovecot 使用该证书。当 dovecot 无法正常工作时,我返回到 dovecot 默认安装的 SSL PEM。但我忘记注释掉以下两行:

ssl_cert_username_field = example.com
ssl_key_password = secretsecret

均位于 conf.d/10-ssl.conf 中。

这些与我创建的 SSL 证书相关。它们与 dovecot 的默认 pem 无关。

一旦我注释掉这两行,一切就开始正常工作了。

一旦我决定使用不同的非 dovecot pem,我必须取消它们的注释。

答案2

尝试通过 telnet 连接后,检查邮件日志:/var/log/maillog。Dovecot 可能已启动,但配置中仍有错误。我通过这种方式发现了由配置错误导致的错误。

相关内容