
我的 cron.daily 腳本中的一行無法按預期工作。我沒有特別的系統中的smtp郵件伺服器,這一行 rsync -avun --inplace /oneuser/file.xls /otheruser/file.xls|郵件-s“$0$?”提供Cannot open mail:25
訊息 設定本機郵件子系統需要什麼?與電子郵件伺服器設定相比,我更喜歡簡單的郵箱。我喜歡其他登入使用者可以透過mail
命令讀取 cron (root) 訊息。我發現了類似的問題,但沒有在這裡找到答案如何設定本地郵件檢索和投遞?
當我嘗試使用命令向用戶發送郵件時,mail
我得到了點
EOT
[root@localhost etc]# send-mail: Cannot open mail:25
答案1
我建議您只安裝postfix
本地郵件傳送。至少在 Ubuntu 上,它會互動式地詢問您的設置,其中包括僅本地交付選項。
此外,您可以建立mailboy
用於郵件傳遞的本機帳戶,並允許所有人閱讀傳遞到該帳戶的郵件。
為了將郵件root
發送到mailboy
,編輯/etc/aliases
並添加行:
root: mailboy@localhost
這樣做後運行newaliases
。
答案2
我的日誌中也有此訊息,ssmtp 似乎是發送 Fedora 19+ 郵件的新預設設置,或者至少顯示安裝在我的 Fedora 19 上。但我更要說的是,未發送的郵件會存入一個dead.letter 文件,在我的例子中位於/root 上,所以如果您想知道未發送的電子郵件發生了什麼,這些郵件位於一個在名為dead.letter 的檔案中。
答案3
我使用的是 Fedora 20,突然在新安裝的系統上出現此錯誤。所有先前的主機(> 70)都能夠這樣做:
迴聲“你好世界”|郵件-s“敬禮”[電子郵件受保護]
腳本等非常有用。
現在命令列呼叫開始失敗
sSMTP[3144]:無法連線至「郵件」連接埠 25。
sendmail 的日誌提示該指令不喜歡 -bd 選項(「以守護程式執行」)。為何如此 ?當然,如果沒有守護進程,它不會偵聽 25/tcp 從而導致錯誤。
現在,請按照命令本身進行操作。 ssmtp 沒有運行原始的 sendmail 二進位文件,而是出現並取代了它。
/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.ssmtp
代替
/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
現在,ssmtp 根據其手冊頁非常簡單,旨在以其最簡單的功能替換 sendmail - 並且不支援 -bd 選項。因此,沒有連接埠 25。
此處所有中斷 - 與連接埠 25 通訊的命令將退出。
我卸載了 (yum remove ssmtp) - 這導致原始的 sendmail 恢復其角色 - 再次啟動該服務會啟用連接埠 25。
現在郵寄又以原來的方式恢復正常了。
稍後我將看看 ssmtp 的優點...