2017-07-17 52 views
0

我試圖製作自己的bash郵件腳本,每次都會要求在控制檯中輸入收件人,主題和身體時出現問題。然後發送它。任何人都可以幫忙嗎?非常感謝!我使用mail命令詢問接收者,主題和身體的Bash郵件腳本

P.S

+0

你能更具體嗎? –

+2

歡迎使用[https://stackoverflow.com/](https://stackoverflow.com/) !在這個站點上,你應該嘗試自己編寫代碼。如果您遇到問題,在做了更多研究後,您可以發佈您已經嘗試過的內容,並清楚說明哪些內容無法正常工作並提供[最小,完整和可驗證的示例](https://stackoverflow.com/help/ mcve)。我建議閱讀[如何問](https://stackoverflow.com/help/how-to-ask)。祝你好運! – MorganFreeFarm

+0

@RamanSailopal對不起,我是新手上的stackoverflow) –

回答

0

您將使用read命令來獲取用戶輸入。提示:使用-p選項。

不要忘了"quote" all your variables,尤其是變量持有未知的用戶輸入。

+0

好吧,謝謝,但我怎麼可以使用這個變量來發送郵件?我需要寫在命令中使用這個變量? –

+0

你會使用'echo「$ body」| mail -s「$ subject」「$ recipient」' –

1
read -p "What is your subject ? " subj 
read -p "What is your message? " mess 
read -p "What is the recipient address? " add 
grep -E '[[:alnum:]][email protected][[:alnum:]]+(.[[:alnum:]]+){1,2}' <<< $add 
if [[ "$?" == "0" ] 
then 
    echo "$mess" | mail -s "$subj" $add 
else 
    echo "ERROR - The recipient address is in the wrong format" 
fi 

在這裏,我們爲主題,正文和收件人然後我們檢查的電子郵件地址的格式是否正確,並使用變量來發送郵件,如果收件人地址是正確的格式讀取的響應。如果沒有,則顯示錯誤消息。

+0

非常感謝!我做了幾乎相同的腳本,但沒有格式檢查 –