我有一个运行 Dovecot/Postfix 的单邮箱邮件服务器,并且有两个 IMAP 客户端,PC 上的 Thunderbird 和 Android 上的 K9。即使我将“mail_max_userip_connections”变量更改为 50,我仍然在日志中不断收到此错误。
puppet dovecot: imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10): user=<[email protected]>, method=PLAIN, rip=62.242.90.2, lip=198.29.31.229, TLS
为什么日志中说设置为 10?这是硬编码的吗?
grep -r "mail_max_userip_connections" /etc/dovecot
/etc/dovecot/conf.d/20-managesieve.conf: #mail_max_userip_connections = 10
/etc/dovecot/conf.d/20-pop3.conf: #mail_max_userip_connections = 3
/etc/dovecot/conf.d/20-imap.conf: mail_max_userip_connections = 50
更改后我重启了 dovecot,但仍然记录了此错误,我无法访问邮箱。有人能帮我理解为什么我似乎无法提高最大限制吗?
答案1
我最近有机会更改这个值,但我在主配置文件中更改了它;在我的文件中/etc/dovecot/dovecot.conf
,它现在显示:
protocol imap {
mail_max_userip_connections = 50
}
我很荣幸能做到这一点;这是在 Centos 6.2 系统上使用 dovecot 2.0.9 实现的。我不知道这是否能回答您的问题,但我认为了解其他人如何实现它可能会对您有所帮助。
答案2
添加mail_max_userip_connections = 50
全球的部分,而不是protocol imap
或protocol pop3
部分。至少在这样做之后,我的dovecot -a
开始返回所请求的值mail_max_userip_connections
,而不是默认值10
。
我在 CentOS 上运行 Dovecot 2.0.9。
答案3
对我来说,答案暗示了全球的部分似乎有效。
首先仅在 ./conf.d 子目录中进行了更改,但不起作用,电子邮件客户端继续像以前一样显示错误消息,值为 10 个最大连接。尝试了很多方法,总是重新启动服务器,但由于这是全新的安装,我不得不研究更多细节。
由于之前没有设置此参数,因此我将其插入到这里(dovecot.conf):
...
# Protocols
mail_max_userip_connections = 100
!include_try /usr/share/dovecot/protocols.d/*.protocol
protocol imap {
mail_plugins = $mail_plugins imap_quota
}
...
也许,这个值以后可以降低,但这需要测试,因为许多设备同时在检查新邮件。
答案4
如果您使用 dovecot 的单独配置目录选项(例如,在我的系统上,此设置位于 /etc/dovecot/symbiosis.d/40-imap-settings/10-plugins),则需要在顶层执行 make 将所有单独的文件合并为一个,然后再停止和启动服务器。
这个答案适用于bytemark symbiosis环境,但其他的应该类似予以适当修改。