
mail
從 Linux 終端機使用指令時,使用什麼電子郵件帳號傳送電子郵件,如下所示:
echo "Body of email" | mail -s "Subject" [email protected]
如果沒有發送郵件,是否需要指定發送郵件地址的使用者名稱和密碼?我讀過的所有mail
教學都沒有指定有關寄件者地址的內容。
編輯:因此,如果我收到一條錯誤訊息,大意是“不支援郵寄到遠端網域”,這是否意味著我的 ISP 已阻止發送電子郵件?有沒有辦法解決?謝謝。
答案1
從 Linux 終端機使用 mail 指令時,使用什麼電子郵件帳號傳送電子郵件,如下所示:
在預設配置中,它與您用於登入的帳戶完全相同。通常是 Postfix 或 Exim4,有時是 Sendmail 或 qmail。
該帳戶的電子郵件地址是或,可以從其中取得 FQDN 。但是,目前您無法接收郵件your-login@hostname
your-login@fqdn
hostname -f
到此帳戶,因為 MTA 配置為「僅本機郵件」(如下方的錯誤訊息所述)並且不會接受來自外部的郵件。
編輯:因此,如果我收到一條錯誤訊息,大意是“不支援郵寄到遠端網域”,這是否意味著我的 ISP 已阻止發送電子郵件?有沒有辦法解決?
不;此錯誤訊息是由您自己的電腦傳回的。郵件伺服器配置為僅傳輸當地的郵件 – 從一個使用者到另一個使用者(最常見的是,從計劃任務守護程式(如果 cronjob 失敗)。通常,這些訊息會傳送至 、、或類似程式並可使用、 、 或類似程式讀取。 (IIRC、Thunderbird 也能夠匯入本地郵件線軸。)/var/mail/login
mail
mutt
re-alpine
重新配置郵件伺服器以向/從其他網站發送和接收郵件並不困難;根據安裝的 MTA 和 Linux 發行版,甚至單一命令也可能足夠:例如,dpkg-reconfigure postfix
如果系統是帶有 Postfix 的 Debian。
不過,我猜您是在個人電腦上使用它,因此最好使用外部郵件帳戶 - 例如,如果您有 Gmail 地址,請使用您的 Gmail 地址。找出安裝了哪個 MTA(在 Ubuntu/Debian 上,dpkg -S /usr/sbin/sendmail
會告訴你),然後 google 搜尋「program-name relay gmail
」取得教學。
或者,安裝專為中繼設計的 MTA;是不錯的選擇msmtp
並且esmtp
易於配置。
答案2
mail指令發送目前帳號下的郵件,即 username@domain ;但是,通常網路服務供應商會阻止使用者運行自己的郵件伺服器(透過封鎖相關連接埠)以避免垃圾郵件,因此您的電子郵件不會被發送。
但發送問題也可能與您的機器配置有關。
編輯:啟用郵件從 gmail 等發送電子郵件。將以下資訊放入 ~/.mailrc 檔案中,該檔案提供郵件的基礎配置。但是,請確保只有您才能存取該檔案(使用 chmod 600 ~/.mailrc)
account gmail {
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp.gmail.com:587
#set smtp-auth=login
set [email protected]
set smtp-auth-password=pass
set [email protected]
}
在這種情況下,電子郵件將來自“[電子郵件受保護]」。
答案3
例如,它是發送使用者的帳戶名稱和主機名稱root@myserver
。它不一定是一個可以接收外部電子郵件的實際郵箱。
答案4
參考這個如何從 Linux 命令列發送電子郵件了解更多信息