Linux配置msmtp+mutt发送邮件(可放在脚本中定时发送邮件) 您所在的位置:网站首页 自动发邮件的脚本软件 Linux配置msmtp+mutt发送邮件(可放在脚本中定时发送邮件)

Linux配置msmtp+mutt发送邮件(可放在脚本中定时发送邮件)

2024-07-13 14:40| 来源: 网络整理| 查看: 265

做为一名运维 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"

set [email protected]

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 实验室设备网 版权所有