分享

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

 昵称14129940 2014-07-18

今天在前置机上写了一个脚本监控服务器状态,状态信息收集到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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多