linux 分别使用mail命令和mutt命令发送邮件

今天在前置机上写了一个脚本监控服务器状态,状态信息收集到log日志中并需要通过邮件发送出来便于及时监控。

之前学习过mail命令,知道可以将文件的内容作为邮件正文发送出来,但是经过多次尝试mail均将文件做完附件发送出来了。使用foxmail接收的时候无法接受到附件,outlook可以接收附件。

mail命令为

mail -s "test" ln-jczc@chinaunicom.cn< 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
from ln-jczc@chinaunicom.cn
tls_certcheck off
user ln-jczc
password XXXXXXXXX
account default : company
3、创建空白文件~/.msmtp.log

4、邮件发送测试

mutt -s testmutt ln-jczc@chinaunicom.cn< 201202171400.log

-a指定附件

mutt -s testmutt ln-jczc@chinaunicom.cn -a mem.txt< 201202171400.log

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值