1. 程式人生 > >linux shell 傳送email 郵件

linux shell 傳送email 郵件

方法一:簡單郵件傳送

echo 'hello world' | mail -s "Subject" -t  [email protected],[email protected]    -a From:[email protected]

效果截圖

 

方法二: 文字格式傳送郵件

 

# !/bin/sh

from_name="[email protected]"
from="[email protected]"
to="[email protected]"

email_title="Test Mail"
email_content="/home/barry/top800/test/output_email.html" email_subject="Top800_Games_Free_USA" echo -e "To: \"${email_title}\" <${to}>\nFrom: \"${from_name}\" <${from}>\nSubject: ${email_subject}\n\n`cat ${email_content}`" | /usr/sbin/sendmail -t
效果截圖:

 



 

方法三:html格式傳送郵件

 

# !/bin/sh


from='[email protected]'
to='[email protected]'

email_date=''
email_content='/home/barry/top800/test/output_email.html'
email_subject='Top800_Game_Free_USA'


function send_email(){
    email_date=$(date "+%Y-%m-%d_%H:%M:%S")
    echo $email_date

    email_subject=$email_subject"__"$email_date
    echo $email_subject

    cat $email_content | formail -I "From: $from"
-I "MIME-Version:1.0" -I "Content-type:text/html;charset=gb2312" -I "Subject: $email_subject" | /usr/sbin/sendmail -oi $to } send_email
效果截圖:

 



原始碼下載(linux shell 傳送email 郵件)

 

--------------------------------

 

CentOS是一個非常不錯的免費開源Linux系統,許多站點首選的平臺。

然而CentOS預設不能傳送郵件,需要傳送郵件的童鞋可以安裝一個sendmail程式。
 
安裝sendmail
執行: [[email protected] ~]# yum -y install sendmail
程式會自動搜尋出sendmail安裝程式自動安裝,安裝好sendmail以後執行以下命令啟動sendmail
[[email protected] ~]# /etc/init.d/sendmail start
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]
 
啟動以後我們可以執行mail命令測試一下是否能傳送郵件
一、通過檔案內容傳送郵件
[[email protected] ~]# mail -s 'Test mail' [email protected] < /etc/passwd
很快收到郵件了,正文是 /etc/passwd 檔案的內容

 
二、使用管道符直接傳送郵件內容
如果不想通過檔案傳送郵件內容也可以這麼傳送
[[email protected] ~]# echo "This is test mail" | mail -s 'Test mail' [email protected]
以上效果同文件傳送郵件內容一樣
 
如果提示mail: command not found
[[email protected] ~]# mail -s 'Test mail' [email protected] < /etc/passwd
-bash: mail: command not found
那麼就是沒有安裝mail命令,此時需要安裝mail命令
[[email protected] ~]# yum install mailx -y
然後再重新發送以下郵件就好了!

 

 

參考推薦:

4 Ways to Send Email From Linux Command Line

shell 發郵件命令之 mail

 

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed