更改 Dovecot 的 IMAP 端口

更改 Dovecot 的 IMAP 端口

我正在运行 Dovecot,以便人们在我的服务器上访问他们的电子邮件。不幸的是,有些人所在的网络无法连接到正常的 IMAP 端口,所以我正在尝试更改它。我更改了配置以包含:

protocol imap {
  listen = *.1433 *.143
  ...

然后 dovecot 重启失败:

Fatal: listen: Can't resolve address *.1433: Name or service not known

正确的做法是什么?如果可能的话,我更愿意让它监听两个端口。

答案1

在我的 FC10 系统上运行的dovecot-1.1.10-1.fc10语法是:

protocol imap {
    listen = *:9999 *:143
    ....
}

查看报告的错误。如果配置确实正确,则最有可能的是“地址已在使用中”,这意味着其他进程已在监听端口 9999。

编辑 - 我看到您修改了问题。错误在于您使用“.”而不是“:”作为端口分隔符。

答案2

我做了一些研究,根据常问问题

是否可以让 Dovecot imap/pop 守护进程监听多个端口?

不,在当前稳定版本中没有。但是有解决方法,例如使用防火墙将传入流量重定向到给定端口。

您可以简单地使用 iptables 将连接重定向到 9999 到 143,命令如下。

/sbin/iptables -t nat -A PREROUTING -p tcp --dport 9999 -j REDIRECT --to-ports 143

答案3

使用当前 (2015) Dovecot 版本,不同端口或多个端口的配置现在有所不同。您可以inet_listener ... {}为每个端口添加一个部分。在我的 Debian 8 (Jessie) 系统上,它位于/etc/dovecot/conf.d/10-master.conf

service imap-login {
  inet_listener imap {
    #port = 143
  }
  inet_listener imap_9143 {
    port = 9143
  }
  inet_listener imap_whatever {
    port = 54321
  }
}

如果它位于系统中的另一个文件中,您可以使用 找到它grep -r -l 'inet_listener imap' /etc

相关内容