2013-04-11 21 views
4

我能夠從bash發送郵件,但無法更改文本,它現在以「root」身份出現。從bash郵件中的地址文本中設置

我希望電子郵件客戶端在字段script on myserver.com ([email protected])中顯示以下文本。

我該怎麼做?

emailsubject="$scriptname ($scriptver) log at $startdate" 

if [ $errorcount > 0 ]; then 
    emailsubject="ERRORS($errorcount) - ${emailsubject}" 
fi 

mail -s "$emailsubject" [email protected] < $logfile 
+1

'[$ ERRORCOUNT> 0]'應該是'[$ ERRORCOUNT -gt 0]'(見'人test') 。 – 2013-04-12 06:48:23

回答

6

這不是BASH問題。這是郵件程序本身的問題。

運行命令man mail並查看該命令的選項。它因系統而異。檢查一個參數,該參數允許您設置郵件的來源或發件人。如果mail沒有這樣的參數,請嘗試mailx,它有更多選項。 (它看起來像你的系統有mailx稱爲mail

在我的系統,我使用mailx,而不是mail,我可以使用-r參數設置發件人地址

mailx -r [email protected] -s "Secret Message. For your eyes only" < $file 
8

如果你的「郵件」的支持的話,你可以使用-a開關這樣的添加自定義標題:

mail -s "subject" -a "From: [email protected]" ... 
+1

CentOS中的郵件不使用此開關... – Nick 2016-10-07 13:20:51

+0

'-a文件將給定文件附加到郵件中。 – Nick 2016-10-07 13:21:01

相關問題