Linux
我可以讓 SSMTP 自動設置“收件人:”標頭嗎?
我正在使用 ssmtp 包通過 g-mail 發送電子郵件。一切正常 - 唯一奇怪的是,如果我通過命令行發送郵件,“to field”很時髦。
ssmtp me@domain.com < message.txt
基本上“收件人”欄位只會說“未公開的收件人”
我讀到您可以設置包含“To:”欄位的標題,但是當我
有沒有更簡單的方法通過命令行發送郵件
ssmtp
- 但不必更改上述語法或指定其他參數?(可能是一個配置文件,用於將“to”地址設置為指定的任何地址。
這種情況來自對
ssmtp
正在做的事情的誤解。郵件信封(郵件伺服器用於路由郵件)和郵件正文(顯示在您的電子郵件客戶端中)之間有一個非常重要的區別。兩者都可能有To
和From
,並且它們可能彼此不同。這沒關係!
ssmtp
僅創建信封並促進將消息傳輸到 MTA。它期望您傳遞給它的主體完全形成並包含所有主體標頭。它不會為您添加任何內容*,(儘管它會插入消息處理標頭,例如,Received-by
等)。我相信你也注意到這些消息也沒有Subject:
。因此,您的問題的答案是該
To:
欄位需要包含在message.txt
.要顯示
To:
andSubject:
欄位,您需要message.txt
像這樣格式化:To: cwd@gmail.com Subject: Message for you Message text starts here. blah blah blah.
*這並不完全正確。由於
From:
標題是唯一需要的標題,因此將從信封中派生並在失去時插入。