linux分别使用mail命令和mutt命令发送邮件
- 格式:docx
- 大小:16.03 KB
- 文档页数:3
linux分别使用mail命令和mutt命令发送邮件
展开全文
今天在前置机上写了一个脚本监控服务器状态,状态信息收集到log日志中并需要通过邮件发送出来便于及时监控。
之前学习过mail命令,知道可以将文件的内容作为邮件正文发送出来,但是经过多次尝试mail均将文件做完附件发送出来了。使用foxmail接收的时候无法接受到附件,outlook可以接收附件。
mail命令为
mail-s"test"**********************<201202171400.log google了一下,发现了mutt这个命令,测试后发现此命令正好复合我现在的需求
mutt需要和msmtp配合发送邮件
1、安装mutt
安装msmtp
2、添加或修改配置文件~/.muttrc用于配置mutt
由于我现在只需要发送邮件,只配置需要的参数即可
# 终端的编码
set charset="UTF-8"
# 外发邮件使用的编码
set send_charset="UTF-8"
# 用中文格式显示日期
set locale="zh_CN.UTF-8"
# 解决没有设置字符编码的信件显示为乱码的问题
charset-hook ^us-ascii$ GB18030
# 解决主题为utf-8的信件标题显示为乱码的问题
charset-hook !UTF-8 GB18030
# 解决未经过MIME编码的信件显示为乱码的问题
set strict_mime=no
set assumed_charset="GB18030"
# 解决中文附件名为乱码的问题
set rfc2047_parameters=yes
# 采用msmtp发送邮件
set sendmail="/usr/bin/msmtp"
# 让mutt可以更好的阅读html邮件
auto_view text/html
2、添加或修改配置文件~/.msmtprc用于配置msmtp
由于我这个版本的msmtp不支持tls所以tls off ,auth login 此处不能是auth on
defaults
logfile ~/.msmtp.log
#company
account company
tls off
auth login
host 132.193.64.152
port 25
**************************
tls_certcheck off
user ln-jczc
password XXXXXXXXX
account default : company
3、创建空白文件~/.msmtp.log
4、邮件发送测试
mutt -s testmutt **********************< 201202171400.log
-a指定附件
mutt -s testmutt **********************-a mem.txt<
201202171400.log