在我的服务器上,我需要通过 Postfix 发送电子邮件。SMTP 设置如下,这些都有效。电子邮件通过 Gmail 正确发送:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
问题是nmap
显示端口 25 已打开。
# nmap -p1-65535 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2019-04-18 16:02 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 65530 closed ports
PORT STATE SERVICE
25/tcp open smtp
80/tcp open http
443/tcp open https
如果我们的 Postfix 使用外部 Gmail SMTP,我假设可以关闭端口 25 是否正确?谷歌搜索关闭端口 25 就像许多 ISP 为防止垃圾邮件中继所做的那样,有一个好坏参半的建议。
在我的具体情况下,我只需要 Postfix 高度选择性地工作以从服务器发送电子邮件给我自己。无处。所有通过 Wordpress 等发送的电子邮件都是通过支持 Gmail SMTP 的插件完成的。
这是目前在端口 25 上运行的内容:
# lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
master 31853 root 13u IPv4 2073744 0t0 TCP Serv:smtp (LISTEN)
master 31853 root 14u IPv6 2073745 0t0 TCP Serv:smtp (LISTEN)
我可以关闭 25 端口吗?
您的 postfix 安装发送电子邮件的方法(即在您的情况下通过 gmail 中继)与您的 postfix 安装如何接收电子邮件无关。MTA(邮件传输代理)的正常行为是侦听传入电子邮件的 SMTP 端口 (25)。
您系统上的某些应用程序可能会通过连接到 localhost:25 来发送电子邮件;在这种情况下,您仍然需要 postfix 来侦听端口 25。在这种情况下,您可以将其限制为 localhost 上的端口 25:编辑
master.cf
文件并将smtp
行开头的127.0.0.1:smtp
.如果您绝对确定在发送邮件时没有任何东西连接到端口 25,那么只需注释掉以 . 开头的行
smtp
。修改配置后不要忘记重新启动 postfix。