我正在尝试在 Debian 机器上启动并运行 Dovecot。
telnet localhost 143
运行正常。但是,当我telnet remote.example.com 143
从远程机器上尝试时,却没有成功。操作超时了。
listen = *, ::
我的 dovecot.conf 文件中有netstat -plutn
以下内容:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1228/mysqld.bin
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 3307/master
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4000/dovecot
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 599/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3307/master
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4000/dovecot
tcp6 0 0 :::587 :::* LISTEN 3307/master
tcp6 0 0 :::143 :::* LISTEN 4000/dovecot
tcp6 0 0 :::80 :::* LISTEN 2134/httpd.bin
tcp6 0 0 :::22 :::* LISTEN 599/sshd
tcp6 0 0 :::25 :::* LISTEN 3307/master
tcp6 0 0 :::443 :::* LISTEN 2134/httpd.bin
tcp6 0 0 :::993 :::* LISTEN 4000/dovecot
<snip>
这是在 AWS 机器上。不确定是否有防火墙或如何打开它。
输出如下dovecot -n
:
mail_location = maildir:~/Maildir
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
}
protocols = " imap"
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
}
service imap-login {
inet_listener imap {
port = 143
}
}
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
driver = passwd
}
更新,遵循以下建议https://stackoverflow.com/a/11817296/1641112看来我没有安装防火墙。
甚至当我尝试直接登录远程机器的 IP 地址时也遇到这个问题。
也许亚马逊正在阻止邮件服务器端口?
答案1
好吧,问题在于我对亚马逊实例配置几乎一无所知。该服务器是“安全组”的一部分。该组充当防火墙,您必须打开端口才能允许访问它们。
从侧边栏,转到网络和安全->安全组->检查安全组->编辑入站规则并在那里进行更改。