Linux配置msmtp+mutt发送邮件(可放在脚本中定时发送邮件) | 您所在的位置:网站首页 › 自动发邮件的脚本软件 › Linux配置msmtp+mutt发送邮件(可放在脚本中定时发送邮件) |
做为一名运维
DBA
,要写一些监控脚本或分析脚本,并把结果每天定时发送到邮箱中,来提高工作效率。
Linux
系统下有许多的开源软件可以采用命令的方式来发送邮件, 我比较推荐用
msmtp+mutt
方式来发送邮件
一. msmtp和mutt简介: msmtp是一个开源的SMTP客户端,它负责传输邮件到SMTP服务器。 mutt是一款功能强大的基于文字界面的E-Mail Client程序,可以用它来读写、回复、保存邮件,当然也可以在邮件中添加附件,它需要和msmtp配合使用,官网地址 http://www.mutt.org/ 二. msmtp安装及配置 1.下载及安装 网上下载地址很多,这里提供一个 http://download.chinaunix.net/download.php?id=44453&ResourceID=7048 (这是1.4.30版的,最新版应该是1.6.1了 http://sourceforge.net/projects/msmtp/files/msmtp/1.6.1/) 下载下来后解压: $tar xvf msmtp-1.4.30.tar.bz2 $cd msmtp-1.4.30 $./configure --prefix=/usr/local/msmtp $make $make install 2 配置msmtp msmtp配置文件有两种,一类是系统配置文件,一类是用户配置文件,配置一个即可 系统配置文件为/usr/local/msmtp/etc/msmtprc (etc目录和msmtprc文件要手工创建) 用户配置在用户家目录下 ~/.msmtprc (只对本用户生效,也要手工创建) 配置文件用于配置邮件发送的一些基本信息,这里对用户配置文件做个简单的配置: $vi ~/.msmtprc defaults //表示设置默认值 logfile /usr/local/msmtp/msmtp.log //指定日志文件 account zhao //设置账号 host smtp.163.com //SMTP邮件服务器地址 auth plain //指定认证方式 user zhao //指定用户名 from [email protected] //发送的邮件Email password 123456 //指定密码 因为密码是名文的,所以用户配置文件的读定权限必须为600 chmod 600 ~/. msmtprc 三、mutt的安装与配置 1. mutt安装 一般Linux都会默认安装mutt,可用命令查下rpm -qa|grep mutt 或whereis mutt看下相关路径 如果没有安装可以使用 # yum install mutt安装下,或去官网(http://www.mutt.org/)下载源码安装,这里不再多做介绍 2. mutt配置 mutt配置文件也有两类,一类是系统配置文件(/etc/Muttrc),一类是用户配置文件(~/.muttrc,要手工创建)我这里配置用户配置文件 ,配置比较简单,不再详述,添加如下内容即可
vi ~/.muttrc set sendmail="/usr/local/msmtp/bin/msmtp" set use_from=yes set envelope_from=yes set realname="dba" 3.发送邮件 配置完成后,发封邮件测试下: mutt -s " testdba" -a /home/oracle/check.log [email protected] < /tmp/1.txt -s 后面testdba 为邮件主题 -a 后面/home/oracle/check.log为附件 [email protected]为收件人邮箱 /tmp/1.txt 文件中的内容为邮件正文内容 去邮箱看下,应该收到了一封标题为testdba的邮件 可以把这条命令放在shell脚本中,加入crontab,每天定时将监控结果发送邮件到邮箱4.报错处理 如果发送报错,一般是配置文件配置有误,可用下面的办法检测下 mutt –s “testdba” [email protected] 然后会提示输入标题、正文,这时会出现详细的错误信息,可看到是什么问题导致的, 如:提示msmtp: account default not found: noconfiguration file available 很明显是因为无法加载默认的default用户 解决办法: 在muttrc配置文件中,将sendmail配置改为 set sendmail=/usr/local/msmtp/bin/msmtp –C ~/.msmtprc”即可 附:mutt常用参数
-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 以上参数内容摘自网络 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29702473/viewspace-1427563/,如需转载,请注明出处,否则将追究法律责任。 |
CopyRight 2018-2019 实验室设备网 版权所有 |