我买了一个 VPS 并在其上安装了 Ubuntu 12.04。我使用 Zpanel 作为控制面板,一切似乎都配置得很好。我甚至可以通过服务器客户端“Roundcube”在服务器上发送和接收邮件。
但是,当我尝试配置桌面客户端(Mac Mail 或第三方客户端 Airmail)时,它一直拒绝 SMTP 服务器,主要是端口。我尝试了所有可能的值,从 25 到 1025、587、465 等。似乎都不起作用。
我不确定我能提供什么信息来帮助我解决这个问题。如果您需要了解任何信息,请发表评论,或者请发布此问题的答案。
注:邮件服务器地址本身是正确的,100%确定。
谢谢
编辑:这可能会有帮助
Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-06 15:50 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000060s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
3306/tcp open mysql
就像我看到的(这里)只有端口 25 是开放的,在本地,而不是在远程机器上,比如我自己的 Mac,在 VPS 之外。
根据要求提供的信息:
root@vps:~# sudo iptables -L -n
Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination
root@vps:~# sudo netstat -tlnp
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:10025 0.0.0.0:* LISTEN 2550/master
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 779/mysqld
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 758/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 758/dovecot
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1002/apache2
tcp 0 0 159.253.1.196:53 0.0.0.0:* LISTEN 744/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 744/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 665/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2550/master
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 744/named
tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 758/dovecot
tcp6 0 0 :::21 :::* LISTEN 946/proftpd: (accep
tcp6 0 0 :::22 :::* LISTEN 665/sshd
tcp6 0 0 :::25 :::* LISTEN 2550/master
Nmap 针对服务器,来自桌面
Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-06 22:44 CET
Nmap scan report for vps.iscs.nl (159.253.1.196)
Host is up (0.000050s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
答案1
看起来你的 VPS 托管商拒绝所有到你的 VPS 的直接传入 SMTP 连接:
/usr/home/me > telnet 159.253.1.196 25
Trying 159.253.1.196...
telnet: connect to address 159.253.1.196: Connection refused
telnet: Unable to connect to remote host
这是旨在最大限度地减少垃圾邮件转发的良好做法。您的主机只能接受来自执行垃圾邮件过滤的主机提供商的 MX 的 SMTP 连接。这意味着,一般来说,您可以接收您域的邮件,但不能使用您的 VPS 的 SMTP 来中继向其他人发送消息。您必须使用一些公共 SMTP 服务器,例如smtp.gmail.com
。
从另一端,您可以轻松访问您的 POP/IMAP 服务以从您的 VPS 获取传入消息:
/usr/home/me > telnet 159.253.1.196 143
Trying 159.253.1.196...
Connected to 159.253.1.196.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
您必须使用两个不同的主机 - 您自己的 VPS 用于通过 POP/IMAP 接收,另一个用于通过 SMTP 提交。
答案2
是的!我很高兴这个问题已经解决了!经过大量的谷歌搜索,我自己找到了解决方案。然而,需要采取许多步骤!
postfix
应该配置得很好。幸好我有第二个 VPS,并且后缀配置正确(我完全忘记了)——不过,这个 VPS 的配置也不正确。是时候修复它了。
显然,经过大量的sudo mmap <server ip>
使用和telnet <port number>
谷歌搜索后port 25
,我发现port 25
被我的 ISP 阻止了。或者.. 我想是的。
因此,我进入 Postfix 主文件 ( sudo nano /etc/postfix/master.cf
) 并将此行粘贴submission inet n - n - - smtpd
到文件中。这将在端口 587 上打开 Postfix,并让 Postfix 使用端口 587 而不是端口 25。
此后,只需port 587
在服务器防火墙中启用(sudo ufw allow 587
),并使用我的桌面邮件客户端检查后,我就可以验证:它正在正常工作!
如果有人遇到这样的问题,只需打开聊天/评论或类似的东西。我愿意提供帮助。但是:我的电脑技能和你祖母的电脑技能一样,所以不要期待太多:不过,我设法解决了这个问题……=)