我有一个可以正常工作的 sendmail 安装,现在需要发送到另一个智能主机,端口为 465(而不是 25)。我对 sendmail.mc 进行了以下更改
define(`SMART_HOST',`mta.mydomain.com')dnl
define(`RELAY_MAILER',`esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 465')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
在创建 mc 文件并重新启动 sendmail 服务之后,消息仍然卡在队列中:
Dec 22 16:04:40 myhost sendmail[8101]: 0BML4e87008101: from=admin, size=212, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Dec 22 16:04:40 myhost sendmail[8103]: 0BML4ebh008103: from=<[email protected]>, size=446, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=thishost.local [127.0.0.1]
Dec 22 16:04:40 myhost sendmail[8101]: 0BML4e87008101: [email protected], ctladdr=admin (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30212, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (0BML4ebh008103 Message accepted for delivery)
Dec 22 16:06:40 myhost sendmail[8105]: 0BML4ebh008103: to=<[email protected]>, ctladdr=<[email protected]> (1000/1000), delay=00:02:00, xdelay=00:02:00, mailer=relay, pri=120446, relay=mta.mydomain.com. [51.104.109.26], dsn=4.0.0, stat=Deferred: Connection timed out with mta.mydomain.com.
我尝试按照网上找到的指南操作...但就是搞不清楚哪里出了问题。有人能发现错误吗?
(主机名和 IP 已被混淆)
答案1
端口 465 用于 SMTPS,您需要在邮件服务器上具有有效的 ssl 才能使用此端口。
如果您已经拥有 SSL,那么请确保可以从服务器外部或所使用的邮件应用程序一侧访问端口 465。
您可以使用以下命令进行扫描nmap
以确保端口已打开:
$ nmap -p465 mta.mydomain.com
或者 telnet 如下:
$ telnet mta.mydomain.com 465