使用 sendmail -t 处理非标准 SMTP 端口

使用 sendmail -t 处理非标准 SMTP 端口

在我的开发机器上,我有一种特殊类型的 SMTP 服务器在非标准端口上运行,用于测试目的。

在我的虚拟机上,我尝试使用 Exim4 的 sendmail 应用程序将消息推送到该 SMTP 服务器:

selenium-node$ sendmail -t
To: [email protected]:2525
From: [email protected]
Subject: Test message

Quick brown fox jumps over the lazy dog
selenium-node$

但是,看起来 my-development-machine.testingnetwork.local:25 上的默认 SMTP 服务器会收到我的消息。

有没有一种干净、自然的方式来实现我想要的目标?修改 my-selenium-node.testingnetwork.local 上的一些配置没有问题。

答案1

邮件传输协议总是sendmail除非邮件传递代理(此处由 Exim 实现)经过专门配置以将邮件发送到某个自定义端口,否则将转到 TCP/25 。有意味着设置端口,就像来自与邮件传递代理通信的邮件用户代理的 URL 中的端口一样。因此选项仅限于重新配置 Exim 以发送到不同的端口或使用其他邮件发送程序将邮件定向到其他地方,例如使用以下ssmtp配置ssmtp.conf

mailhub=my-development-machine.testingnetwork.local:2525

然后将消息通过管道传输到ssmtp.另一种选择是使用某种编程语言的 SMTP 客户端模块;这些可能支持发送到任意 TCP 端口。

相关内容