背景:
最近在看專案中前輩寫過的shell,當成功或失敗時有郵件發出,並且傳送郵件的命令很簡單,只是乙個mail命令,由於之前不是很了解,所以簡單看了一下,並在自己的虛擬機器上測試了一下。所以此文的目的主要是給像我一樣的新手入門參考的。
環境:
ubuntu14.04, 沒有安裝mail命令
摘要:
ubuntu中sendmail函式可以很方便的傳送郵件,ubuntu sendmail先要安裝兩個包,再安裝乙個工具包
sudo apt-get install sendmail
sudo apt-get install sendmail-cf
sudo apt-get install mailutils
安裝過程中會出現如下介面:
原文說這個system mail name會被用到,我自己測試發現並沒有使用,預設發出郵件的名字是當前登入使用者的名字,並不是這裡配置的system mail name,給本機發郵件可以使用也可以只使用username,下文會提到。
這裡一路選擇預設就可以了。
安裝完以後檢查一下:
ps aux |grep sendmail
darren@ubuntu:~/darren$ ps aux |grep sendmail
root 1276 0.0 0.4 100728 4920 ? ss apr12 0:06 sendmail: mta: accepting connections
darren 11770 0.0 0.2 11764 2252 pts/0 s+ 13:42 0:00 grep --color=auto sendmail
說明sendmail 已經安裝成功並啟動了
sendmail 預設只會為本機使用者傳送郵件,只有把它擴充套件到整個internet,才會成為真正的郵件伺服器。
開啟sendmail的配置巨集檔案:/etc/mail/sendmail.mc,修改如下行
vim /etc/mail/sendmail.mc
daemon_options(`family=inet, name=mta-v4, port=smtp, addr=127.0.0.1')dnl
//修改為
daemon_options(`family=inet, name=mta-v4, port=smtp, addr=0.0.0.0')dnl
0.0.0.0表名可以連線任何伺服器
重新生成配置檔案:
cd /etc/mail
mv sendmail.cf sendmail.cf_bk //做乙個備份
m4 sendmail.mc > sendmail.cf //>的左右有空格,提示錯誤沒有安裝sendmail-cf
//注意,如過最後乙個命令報沒有許可權,需要切換到root上執行
echo 「郵件正文」 | mail -s 郵件主題 [email protected] //簡單方式
mail -s 郵件主題 [email protected] < test.txt //檔案內容傳送方式
其它可選想如下:
//追加,例如-afrom: ***@yyy.com, 指定郵件是誰發出的
-a, --attach=file
attach file
//傳送附件,-a 檔案路徑, 注意如果傳送多個附件,需要使用多次-a, 例如:-a file1 -a file2
-s, --subject=subj
send a message with the given subject
//指定郵件標題
這裡只列出了部分選項,幫助文件請使用man mail檢視
常用例子如下:
echo 「郵件正文」 | mail -s 郵件主題 [email protected],[email protected]
echo 「郵件正文」 | mail -s 郵件主題 [email protected] -afrom: [email protected]
echo "this is the message body" | mail -s "hello, this is a test!" username
echo "this is the message body" | mail -s "hello, this is a test!" username@ubuntu
//這兩種方法等價,第二種中的ubuntu是當前系統的主機名(hostname),見安裝部分的最後一張圖,系統郵件名預設的是主機名,也是ubuntu
echo "this is the message body" | mail -s "subject" [email protected] -a file
//傳送兩個附件
在第三行顯示有7封郵件,其中3封未讀。
第二列是郵件編號,最後一列是郵件主題,中間是收件日期。
最後一行?
提示符表示等待輸入命令。
輸入郵件編號,回車後就可以開啟該郵件進行閱讀。
輸入z
回車後退後郵件列表。
輸入q
回車後退出
參考:
ubuntu配置mail郵件
一 安裝 ubuntu中sendmail函式可以很方便的傳送郵件,ubuntu sendmail先要安裝兩個包。必需安裝的兩個包 sudo apt get install sendmail sudo apt get install sendmail cf 下面幾個包是可選的 squirrelmail...
Mail傳送郵件
本來是想用阿里雲伺服器測試傳送郵箱,可是由於阿里雲端口等問題,無奈只好在本地搭建虛擬機器進行測試。本文是通過163郵箱給qq郵箱的案例講解 set from 163.com 您的163郵箱 set smtp smtp.163.com 不需修改 set smtp auth user 163.com 您...
mail命令傳送郵件
一 首先安裝ssmpt和mailutils sudo apt get install ssmtp mailutils 二 接下來編輯配置檔案 sudo gedit etc ssmtp ssmtp.conf root your personal mail domain mailhub smtp.gma...