CentOS 下配置以 smtp 方式(msmtp)使用 mutt
mutt 默认使用 sendmail 发邮件,发送到邮箱时容易因为发件人不可信而被拒绝,将其更改为 smtp 方式可以解决这个问题,需要事先准备好 smtp 信息(发送邮件的smtp服务器、邮箱帐号、邮箱密码)。
mutt发信需要依靠其它程序,比如之前是 sendmail ,现在我们改为 msmtp(An SMTP client)。
安装 Msmtp
yum install -y msmtp
或从这里下载:http://sourceforge.net/projects/msmtp/files/msmtp/
tar -jxvf msmtp-1.4.32.tar.bz2 ./configure make && make install ln -s /usr/local/bin/msmtp /usr/bin/msmtp # 配置时可能用到的一些调试命令: msmtp -S #检查配置文件是否有误 msmtp -P #查看的配置文件路径(含搜索次序) msmtp --host=smtp.126.com --serverinfo #检验SMTP服务器是否支持认证的TLS加密:
配置 Msmtp
编辑 /etc/msmtprc,仅 root 可使用时编辑 ~/.msmtprc。(配置文件有可能是 /usr/local/etc/msmtprc)
account default host smtp.126.com port 587 tls off auth plain from upall@126.com user upall@126.com password ********** logfile /var/log/msmtp.log
安装 Mutt
yum install -y mutt
配置 Mutt
编辑 /etc/Muttrc.local(注意大小写。仅root可使用时编辑 ~/.muttrc)
set sendmail="/usr/local/bin/msmtp" set use_from=yes #显示昵称 set realname="网络邮递员" #昵称 set from=upall@126.com #发件人 set charset="UTF-8" set envelope_from=yes #这项不知道是干嘛的,有知道的可在下边评论回复一下,貌似 /etc/Muttrc 里有说明
测试:
echo 试一下 | mutt user@upall.cn -s "标题" -e "set content_type=text/html\; charset=UTF-8"
— 完 —