1.安裝和配置sendmail
通過(guò)Linux系統(tǒng)自帶的mail
命令即可對(duì)公網(wǎng)郵箱發(fā)送郵件谢翎。不過(guò)mail命令是依賴(lài)sendmail的,所以我們需要先檢查安裝和配置sendmail吱型。一般系統(tǒng)都自帶sendmail殖侵,但是只能給內(nèi)網(wǎng)的郵箱發(fā)郵件夺饲。如果想給公網(wǎng)的郵箱發(fā)郵件(比如qq郵箱)就需要配置sendmail.
先嘗試用mail發(fā)送一封郵件
#mail -s 郵件主題 郵件接收地址(我這里就用的自己的qq郵箱)
mail -s "hello,my name is liunx" xxxxxx@qq.com
發(fā)送失敗胡陪,因?yàn)闆](méi)有安裝mail
root@VM-4-11-ubuntu:~# mail -s "hello Liunx" xxxxx@qq.com
Command 'mail' not found, but can be installed with:
apt install mailutils
You have new mail in /var/mail/root
他的報(bào)錯(cuò)信息中建議我們apt install mailutils
,那我們就輸入這個(gè)命令等待安裝
apt install mailutils
安裝完成后我們?cè)賴(lài)L試發(fā)送郵件
#mail -s 郵件主題 郵件接收地址(我這里就用的自己的qq郵箱)
mail -s "hello,my name is liunx" xxxxx@qq.com
提示你輸入Cc地址件舵,即郵件抄送地址骚秦,沒(méi)有抄送地址則直接回車(chē)就完成了郵件的發(fā)送她倘。接著會(huì)讓你輸入郵件正文,當(dāng)郵件正文輸入完成后作箍,需要按CTRL+D結(jié)束輸入硬梁。此時(shí)我們不填寫(xiě)郵件正文,直接按CTRL+D結(jié)束輸入胞得。它會(huì)提示我們Null message body; hope that’s ok
荧止。
此時(shí)來(lái)看我們的qq郵箱,已經(jīng)收到了此郵件懒震,只有主題沒(méi)有內(nèi)容罩息,因?yàn)槲覀兙褪沁@樣發(fā)的。(注意:qq郵箱可能會(huì)將郵件攔截到垃圾箱个扰,自己找一下瓷炮,不要問(wèn)我怎么知道的)
2.mail 發(fā)送的幾種方法
輸入mail --help 查找mail命令的用法,或者看下面的
1) 無(wú)郵件正文
mail -s "主題" 收件地址
2) 有郵件正文
mail -s "主題" 收件地址 < 文件(郵件正文.txt)
echo "郵件正文" | mail -s 郵件主題 收件地址
//使用管道發(fā)送郵件
root@VM-4-11-ubuntu:/etc# echo "2323" | mail -s "1111" xxxxxx@qq.com
You have new mail in /var/mail/root
看自己的郵箱递宅,已經(jīng)收到了
- cat 郵件正文.txt | mail -s 郵件主題 收件地址
3) 帶附件
mail -s "主題" 收件地址 -a 附件 < 文件(郵件正文.txt)
% mail -s "郵件主題" xxxxxx@qq.com -a /data/findyou.tar.gz < /data/findyou.txt
3.shell腳本發(fā)送郵件
已經(jīng)知道命令怎么用了娘香,用shell自動(dòng)發(fā)送還不簡(jiǎn)單嗎
- 創(chuàng)建一個(gè).sh文件
vim mailTest.sh
輸入以下內(nèi)容苍狰,根據(jù)具體情況具體修改,保存退出
#! /bin/bash
echo "您好,我是自己" | mail -s "mail測(cè)試郵件" xxxxxx@qq.com
echo "郵件發(fā)送成功"
給當(dāng)前腳本添加執(zhí)行權(quán)限烘绽,然后執(zhí)行
#添加執(zhí)行條件
chmod +x mailTest.sh
#當(dāng)前文件夾下執(zhí)行
./mailTest.sh
查看自己的qq郵箱淋昭,已經(jīng)收到了
4.參考博客