CENTOS 使用 MUTT发送邮件
有些时候我们需要在Centos服务器上发送邮件,例如备份MySQL数据库并发送到指定邮箱,这里我们就说下如何从Centos的shell命令发送邮件。
检查、安装、启动sendmail
//检查
ps -ef | grep sendmail
//安装
yum install sendmail
//启动
service sendmail start
//开机启动
chkconfig --level 2345 sendmail on
检查并安装mutt
//检查mutt是否安装, 已安装会返回/usr/bin/mutt
# which mutt
//安装mutt
# yum install mutt
配置mutt
- 配置全局mutt, 直接编辑 /etc/Muttrc 文件
- 配置用户级mutt, 复制/etc/Muttrc 到 /当前用户/.muttrc
//为root用户复制.muttrc # cp /etc/Muttrc /root/.muttrc
配置mutt, 上述两种方法修改方式相同
#设置邮件编码方式
set charset="utf-8"
# 外发邮件使用的编码
set send_charset="UTF-8"
# 用中文格式显示日期
set locale=`echo "${LC_ALL:-${LC_TIME:-${LANG}}}"`
# 解决没有设置字符编码的信件显示为乱码的问题
charset-hook ^us-ascii$ GB2312
# 解决主题为UTF-8的信件标题显示为乱码的问题
charset-hook !UTF-8 GB2312
set assumed_charset="GB2312"
# 解决中文附件名为乱码的问题
set rfc2047_parameters=yes
#自定义发件人信息
set envelope_from=yes #这条默认没有,请手动添加
set use_from=yes
set from=xxx.com@xx.com
set realname="Master Lee"
set copy=no
测试发送邮件
//语法
mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
参 数:
-a<文件> 在邮件中加上附加文件。
-b<地址> 指定密件副本的收信人地址。
-c<地址> 指定副本的收信人地址。
-f<邮件文件> 指定要载入的邮件文件。
-F<配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
-h 显示帮助。
-H<邮件草稿> 将指定的邮件草稿送出。
-i<文件> 将指定文件插入邮件内文中。
-m<类型> 指定预设的邮件信箱类型。
-n 不要去读取程序配置文件(/etc/Muttrc)。
-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
-R 以只读的方式开启邮件文件。
-s<主题> 指定邮件的主题。
-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
-x 模拟mailx的编辑方式。
-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。
最常用的有:
-a, -c, -f, -m, -s
发送
mutt xxx@qq.com -s "测试mutt" -a test.txt < test.txt
echo "邮件正文" | mutt xxx@qq.com -s"xxxx" -a test.txt
如果邮件发送错误,查看日志(/var/log/maillog)