主题: webmail登录时提示“连接到邮件服务器失败”

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.8.1
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):mysql
- 使用的 Linux/BSD 发行版名称及版本号:CentOS 6.0 x64
- 与您的问题相关的日志信息:
====

最近我的邮件服务器在web界面登录时经常提示“连接到邮件服务器失败”,web界面登录不进去。而且我发现一个规律,只要mail server上993端口(imaps端口)的连接数达到100就必须会出这个错误,连接数少于100个时webmail能很方便的登录进去。
我判断这个错误dovecot应该无关,我查了roundcubemail的配置,在/var/www/roundcubemail/config/main.inc.php里有这些配置:
$rcmail_config['default_host'] = "127.0.0.1";
$rcmail_config['default_port'] = 143;
$rcmail_config['imap_auth_type'] = "LOGIN";

/etc/dovecot/dovecot.conf里关于imap的设置:
protocol imap {
    imap_client_workarounds = tb-extra-mailbox-sep
    mail_plugins = quota imap_quota autocreate
    mail_max_userip_connections = 500
    imap_idle_notify_interval = 5 mins
}

我不知道出现这个错误的时候应该从哪里去调试,谁能给我一些建议?谢谢!

回复: webmail登录时提示“连接到邮件服务器失败”

你的 Dovecot 是 2.x 的版本还是 1.2.x?如果是 2.x,在 /etc/dovecot/dovecot.conf 里应该有 "service imap-login {}" 的配置,可以在里面加入 process_limit 参数。例如:

service imap-login {
    ...
    process_limit = 200
}

回复: webmail登录时提示“连接到邮件服务器失败”

我通过rpm安装的dovecot,版本信息如下:
dovecot-pigeonhole-0.2.6-21.el6.x86_64
dovecot-managesieve-0.2.6-21.el6.x86_64
dovecot-2.0.18-1_134.el6.x86_64

dovecot -a命令的输出里有一段:

service imap-login {
  chroot = login
  process_limit = 200

我在/etc/dovecot/dovecot.conf里手工加入一段:

service imap-login {
    process_limit = 350
}

重启了dovecot,不知道webmail登录时的错误提示是否还会出现。

回复: webmail登录时提示“连接到邮件服务器失败”

我给所有公司同事的outlook/Foxmail里设置的都是pop3/smtp收发邮件,并没有使用imap。
100个993链接,表示有100个打开的webmail?我们公司员工加起来才五六十个啊,这个怎么理解?

回复: webmail登录时提示“连接到邮件服务器失败”

你是如何计算有多少个连接数的?具体的原始错误信息是什么?

回复: webmail登录时提示“连接到邮件服务器失败”

我通过netstat命令的输出来统计在993端口上建立的连接数,我发现基本上993端口上建立的连接数达到100个时,webmail就连接不上,出现那个错误 ,而且连接数似乎不会大于100.
具体的原始错误信息,还是这个:
roundcube: IMAP Error: Login failed for **** from *****. Empty startup greeting (127.0.0.1:143) in /var/www/roundcu
bemail-0.8.1/program/include/rcube_imap.php on line 191 (GET /mail/?_task=mail&_action=check-recent&_mbox=INBOX&_list=1&_quota=1&_remote=1&_unlock=0&_=1396490407343)

回复: webmail登录时提示“连接到邮件服务器失败”

如果是 Dovecot 的连接数达到上限,在它自己的日志文件里应该有相关的日志,或者 IMAP 客户端有对应的提示错误信息。你贴的这个似乎和连接数达到上限时的错误信息没有直接关系。

8 最后由 sailer.shen (2014-06-19 15:12:19) 编辑

回复: webmail登录时提示“连接到邮件服务器失败”

仔细看了dovecot的日志,由于配置文件中把debug都打开的,所以日志量比较大。唯一看到貌似有异常的语句是这样的:

imap-login: Info: Disconnected (no auth attempts): rip=客户端的IP, lip=邮箱服务器的IP, TLS handshaking: Disconnected

不知道这条语句对查找问题是否有帮助。

回复: webmail登录时提示“连接到邮件服务器失败”

刚才还发现有这样的错误日志,在dovecot.log里:

Jun 13 06:42:20 imap-login: Info: Disconnected (no auth attempts): rip=客户端IP, lip=服务端IP, TLS handshaking: SSL_accept() failed: error:1407609C:SSL routines:SSL23_GET_CL
IENT_HELLO:http request

出现连接到邮件服务器失败的问题,是不是和ssl有关系?

回复: webmail登录时提示“连接到邮件服务器失败”

应该和 SSL/TLS 无关,可能是用户的邮件客户端程序没有配置好 TLS/SSL 导致的。正常。

回复: webmail登录时提示“连接到邮件服务器失败”

现在我这样处理这个问题:
1. 检查所有员工的outlook/foxmail设置,把imap方式改为pop3/smtp方式。
2. 禁止大多数普通员工使用imap/imaps(张大教我修改数据库的方法),通过行政告诉大家不能用浏览器登录webmail,只能用客户端收发邮件,有特殊需求的单独开通。
3. dovecot的配置文件里增加并发连接数。

这两个措施实施以后,在上班时间993端口上的连接减少到20个不到,几天下来没有再发生webmail上不去的情况。