Linux
在命令行上使用 sendmail 進行身份驗證的 SMTP
我們在命令行上使用 sendmail 發送電子郵件,命令如下:
cat <email_contents> | sendmail -t
<email_contents> 包含發件人、收件人等欄位:
To: recipient@example.com Subject: Testing From: sender@example.com
以及一個巨大的文件,附件等。
我們現在需要使用經過身份驗證的 SMTP(傳遞登錄名和密碼參數以針對 SMTP 伺服器進行身份驗證)。
有沒有辦法用這種方法做到這一點?(使用 sendmail 參數或修改 email_contents 考慮以下元素:
- 不使用 mailx 或任何其他郵件客戶端。我們需要繼續從命令行使用 sendmail
- 不修改 sendmail 配置文件 (sendmail.cf)
再次感謝問候,
正如手冊所說
“sendmail 不打算用作使用者界面常式”。
sendmail 命令發送郵件的功能在 SMTP 身份驗證發明之前就停止了發展。
當您的環境擺脫石器時代並開始需要身份驗證和 TLS 等新奇技術時,您將需要擺脫困境以跟上步伐。
您的選擇正是您不想做的事情,您需要升級您的工具和實踐以跟上時代的步伐:
要麼使用更高級的郵件送出代理,例如
mailx
ssmtp
具有 smtp auth 支持的“drop in”sendmail 命令替換。- 或其他。
安裝和配置本地 MDA(如 sendmail、postfix、exim 等)以完成 sendmail 命令無法為您完成的更高級的工作,並繼續使用 sendmail 命令