Sendmail 不遵循 smart_host 替代端口宏。
使用 Exchange 服务器,exchange.redacted.com,我们将端口 2525 用于内部设备和一些基于 Linux 的计算机,允许它们无需身份验证即可发送外发电子邮件。 “接收连接器”允许通过显式 IP 地址授权中继内部网和外部设备。
基于 Linux 的设备 MTA 是发送邮件。
我编辑/etc/mail/sendmail.mc
添加:
define(`SMART_HOST',`relay:[exchange.redacted.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 2525')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 2525')dnl
define(`SMTP_MAILER_ARGS' , `TCP $h 2525')dnl
define(`SMTP8_MAILER_ARGS', `TCP $h 2525')dnl
define(`DSMTP_MAILER_ARGS', `TCP $h 2525')dnl
以防万一,我添加了所有 _*MAILER_ARGS尝试指定要使用的端口但没有成功。
生成的发送邮件配置文件,显示智能主机已选择但未选择替代端口。
# "Smart" relay host (may be null)
DSrelay:[exchange.redacted.com]
...
Mrelay, P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP/MasqRelay, E=\r\n, L=2040,
T=DNS/RFC822/SMTP,
A=TCP $h
修改 Mrelay,添加 2525 按预期工作:
Mrelay, P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP/MasqRelay, E=\r\n, L=2040,
T=DNS/RFC822/SMTP,
A=TCP $h 2525
我怎样才能指定端口.mc无需手动编辑源代码即可.cf?
答案1
您需要sendmail.mc
通过添加以下行来编辑文件。
define(`SMART_HOST', `host.domain.com')dnl
define(`RELAY_MAILER_ARGS',`TCP $h 2525')
dnl # Above line for Smart Relay to use Port 2525 instead of 25
确保将第一行更改为运行 SMTP Port 的中继服务器主机名域2525
。
在 /etc/mail 目录中运行以下命令来更新 sendmail.cf
m4 sendmail.mc > sendmail.cf