linux 安裝msmtp傳送郵件
Linux下可以直接用mail命令傳送郵件,但是發件人是[email protected],如果機器沒有外網的dns,其他人就無法回覆。此時,有一個可以使用網路免費郵箱服務的郵件傳送程式就比較重要了。msmtp就是這樣的一個程式。
#1、下載原始碼包
wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.31/msmtp-1.4.31.tar.bz2/download
#2、解壓
tar -jxvf msmtp-1.4.31.tar.bz2 && cd msmtp-1.4.31
#build and install
./configure --prefix=/usr/local/msmtp && make && make install
#link to /usr/bin
ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp
#3、新建msmtp的配置檔案
mkdir /usr/local/msmtp/etc && vim /usr/local/msmtp/etc/msmtprc
#4、輸入如下內容
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp/msmtp.log
# The SMTP server of the provider.
account 163
# SMTP郵件伺服器地址
host smtp.163.com
# 傳送的郵件Email
from [email protected]
auth login
# 郵件伺服器登入賬號
user [email protected]
# 郵件伺服器登陸密碼
password password
# Set a default account
account default : 163
#############################################
#5、測試msmtp是否配置正確
msmtp [email protected] test [ctrl+d]
注:我在實際安裝後、驗證時發現了一個問題:msmtp: account default not found: no configuration file available ,解決辦法,在/root/.msmtprc 下建立msmtp配置檔案
#6、安裝配置mutt
yum install -y mutt
vim /etc/Muttrc
#輸入如下內容:
set sendmail='/usr/bin/msmtp' set use_from=yes set realname='YOURNAME' set from[email protected]set envelope_from=yes auto_view text/html set charset='utf-8' set send_charset='utf-8' set locale ='zh_CN.UTF-8' set content_type = 'text/html\;charset=utf-8' set rfc2047_parameters=yes #6、配置完畢,測試一下吧!
echo "測試test"|mutt -s "test" [email protected]