Ubuntu

我應該配置什麼以在命令行上發送郵件?

  • August 1, 2016

我在家裡的電腦上工作我想給我發一封電子郵件,我試過了:

uuencode all.sh all.sh | mail mymail@gmail.com 

但問題是我的電子郵件沒有收到任何東西,我只是收到以下錯誤:

mail: cannot send message: Process exited with a non-zero status

事實是我在工作中使用了相同的命令,並且效果很好,我想感謝任何解決此問題的建議。我不確定是否必須先設置任何文件才能在我的個人電腦中使用該命令行。我也嘗試安裝 mutt:

mutt myemail@gmail.com < all.sh 

但我收到以下錯誤:

sendmail: Cannot open mail:25
Error sending message, child exited 1 ().
Could not send the message.

基本mail命令只是一個郵件閱讀器和編寫器,它不知道如何通過網路與伺服器通信(使用SMTP協議)。Talking SMTP 是MTA(消息傳輸代理)的工作。Ubuntu 上的預設 MTA 是 Postfix。要配置 Postfix,請執行

sudo dpkg-reconfigure postfix

如果您只想發送郵件而不接收任何郵件,請選擇“衛星系統”。

請注意,除非您有一台永久連接的機器,具有合適的 DNS 條目,並且最好使用靜態 IP 地址,否則您無法直接接收郵件:您必須使用外部伺服器,然後使用諸如以下協議的協議獲取郵件地圖。

Ubuntu 包含該mail命令的多個版本。heirloom-mailx 版本確實知道如何使用 SMTP 。你在~/.mailrc. 配置可能如下所示:

set smtp=smtp.example.com
set smtp-use-starttls
set smtp-auth-user=neo33
set smtp-auth-password=swordfish

引用自:https://unix.stackexchange.com/questions/299505