Linux下可以直接用mail命令发送邮件,但是发件人是user@servername,如果机器没有外网的dns,其他人就无法回复。此时,有一个可以使用网络免费邮箱服务的邮件发送程序就比较重要了。msmtp就是这样的一个程序。
#1、下载源码包
wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.31/msmtp-1.4.31.tar.bz2/download
#2、解压
tar -jxvfmsmtp-1.4.31.tar.bz2 && cdmsmtp-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
# 发送的邮件Emailfrom user@163.comauth login
# 邮件服务器登录账号user user@163.com
# 邮件服务器登陆密码password password# Set a default accountaccount default : 163
#############################################
#5、测试msmtp是否配置正确
msmtp test@163.comtest[ctrl+d]
注:我在实际安装后、验证时发现了一个问题:msmtp: account default not found: no configuration file available ,解决办法,在/root/.msmtprc 下建立msmtp配置文件#6、安装配置muttyum install -y muttvim /etc/Muttrc#输入如下内容:
set sendmail='/usr/bin/msmtp'set use_from=yesset realname='YOURNAME'set from=user@163.comset envelope_from=yesauto_view text/htmlset 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" receiver@163.com
就是对虚怀若谷谦虚谨慎八个字真正理解的人,