mailx 設定附件名稱

mailx 設定附件名稱

我有一個 cron 作業,我將其輸出發送到 mailx:

# Monday morning at midnight; "mail" is symlink to "mailx"
00 00 * * mon python3 script-with-7500line-output.py | mailx -S 'from=noreply' -s "Report" [email protected]

電子郵件送達後,腳本的輸出位於名為 的附件中ATT0001.bin

我們喜歡它附加輸出而不是將其放入正文中。但是:有沒有辦法設定附件的名稱?

答案1

我喜歡@diya 評論。我將在此處添加作為答案,如果他發表評論作為答案,則將“接受的答案”轉移給他。

「一般來說,當需求變得不那麼簡單時,我建議編寫一個包裝器腳本來用作批次作業。例如,製作一個 shell 腳本,將輸出重定向到具有正確名稱的臨時文件,然後使用mailx -a filename ...

答案2

發布此內容以防萬一有人遇到此問題並想知道我是如何做到的。

這是一個單獨的文件...我的產品有許多其他穩健性功能(錯誤處理;mktemp 模板;等等),但這是基礎知識:

#!/bin/bash
tmpDir="$(mktemp -d --tmpdir)"
python3 script-with-7500line-output.py > "${tmpDir}/PreferredAttachmentName.txt"
echo "Email Body" | mail -S "from=noreply" -s "Report" -a "${tmpDir}/PreferredAttachmentName.txt" [email protected]
rm -rf "$tmpDir"

相關內容