Email

使用 sendmail -t 處理非標準 SMTP 埠

  • December 8, 2017

在我的開發機器上,我有一種特殊的 SMTP 伺服器在非標準埠上執行,用於測試目的。

在我的虛擬機上,我嘗試使用 Exim4 的 sendmail 應用程序將消息推送到該 SMTP 伺服器:

selenium-node$ sendmail -t
To: root@my-development-machine.testingnetwork.local:2525
From: apache@my-selenium-node.testingnetwork.local
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 上的一些配置是沒有問題的。

SMTP始終使用 TCP/25,除非郵件傳遞代理(這裡,sendmail由 Exim 實現)被專門配置為將郵件發送到某個自定義埠。無法像在與郵件傳遞代理對話的郵件使用者代理的 URL 中那樣設置埠。因此,選項僅限於重新配置 Exim 以發送到不同的埠或使用其他一些郵件發送程序將郵件定向到其他地方,例如ssmtp配置ssmtp.conf

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

然後將消息傳送到ssmtp. 另一種選擇是使用某種程式語言的 SMTP 客戶端模組;這些可能支持發送到任意 TCP 埠。

引用自:https://unix.stackexchange.com/questions/409765