2016-09-28 72 views
0

我寫了一個bash腳本發出一封郵件,但50封電子郵件後,它開始說「郵件無法發送消息:進程退出與一個非零狀態「。任何人都可以解決我的問題。我使用的代碼如下,如果你想看看它。郵件不能發送消息:進程退出非零狀態

#!/bin/bash 

#Declare variables area. 

emailBody=email_body.txt; #you have to use without 「 symbol for some reason 
emailList=email_list_delimiter.txt; 

#send mail command. using a read file loop. 

while IFS= read -r emailTo; do 
    cat $emailBody | 
    mail -s "Hi, I'm looking for a position in IT Field." $emailTo | 
    echo 「Success」; 
done < <(grep . $emailList) 
+0

'「」'不是有效的編程語句。雖然bash/echo會在這裏簡單地將它們當作明文處理,但您不應該使用文字處理器來編輯您的代碼。 –

+0

這就是bash腳本。 bashscript允許你使用linux命令。這就是bash執行電子郵件等重複任務的全部目的。您認爲刪除回顯命令會刪除非零狀態? – TFLOW9Z1

回答

0

你可能會擊中的消息的數量,你可以在固定的時間發送,或等效允許時間的移動窗口內的連接數量的服務器端限制。

如果可以(消息不是「個性化」),最好將一個消息發送給多個收件人,而不是許多消息,每個收件人都是一個。通過將您自己的電子郵件地址放入To字段,然後將Bcc整個收件人列表一次性地輸入,可以實現這一點。你將不得不檢查你的郵件命令如何做到這一點。

+0

https://support.google.com/a/answer/166852?hl=zh_CN可能會有限制。試圖找出是否需要更改谷歌電子郵件中的設置。 – TFLOW9Z1

+0

我懷疑谷歌不會讓你改變這樣的限制。它在那裏阻止你淹沒他們的服務器。但是,如果您只能向所有這些收件人發送*一封*郵件,那麼發送足夠的郵件來騷擾Google需要一小部分時間.... – gilez

+0

我通過設置來查看以嘗試更改限制。我有必要開發一種方法,每天發送500封郵件的限額,然後在第二天或一週後再發送500封郵件。 – TFLOW9Z1