編輯:謝謝你的解決方案賽勒斯。問題是我的cron作業不是postfix。
相反的:我的Postfix config for Linux郵件命令有什麼問題?
*/5 * * * * | /usr/bin/mail -s 'Scheduled Email' [email protected]
工作需要安排,如:
*/5 * * * * echo "Message body" | /usr/bin/mail -s 'Scheduled Email' [email protected]
我寫了一個bash腳本,它允許用戶安排一個cron作業發送電子郵件。我正在使用sharutils uuencode和mailutils郵件。
郵件命令從命令行工作正常,我收到我的Gmail帳戶和maillog上的電子郵件,我可以看到正在發送的郵件。 from是user @ machineName,to是[email protected]。但是,當我的一個計劃的cron作業嘗試使用郵件命令發送時,我遇到了問題。
與其通過命令行運行時相同,maillog現在顯示爲= <>和=。我的郵件和uuencode都位於/ usr/bin中,在我的腳本中,我給出了調用它們時的完整路徑。
這裏是我的Postfix main.cf的配置部分
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = hostname.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination =
relayhost =
myorigin = $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
從我的劇本我的crontab作業出現這樣的。
*/5 * * * * | /usr/bin/mail -s 'Scheduled Email' [email protected]
*/15 * * * * | /usr/bin/mail -s 'Scheduled Email' [email protected]
我希望能夠做的就是從一個虛擬地址發出。我不需要認證,我不需要從真實的電子郵件地址發送。我只需要cronjob以與郵件相同的方式正確發送,當我從命令行單獨運行它時。我需要更改什麼部分的配置?
謝謝!
顯示您的cronjob。 – Cyrus
@Cyrus - 更新OP來顯示我的腳本中的cronjs如何在crontab中查找 – CallumStyan
哪位用戶運行此cronjob?請添加您的操作系統的名稱和版本。哪個數據包來自/ usr/bin/mail? – Cyrus