作者:邓聪聪

   为了自动化接收服务端的文件备份信息,利用mutt+msmtp在shell环境中发送电子邮件,轻松高效的完成运维工作。

下载msmtp

wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0

解压源码安装4步走

tar -xf msmtp-1.4..tar.bz  #解压 --安装gcc,会用到编译安装
./configure --prefix=/usr/local/msmtp
make
make install

配置msmtp

cd /usr/local/msmtp/
mkdir etc #配置文件目录和配置文件需自己建
cd etc
[root@bogon etc]# more /usr/local/msmtp/etc/msmtprc
defaults
logfile /var/log/mmlog #输出错误日志文件路径
account #邮箱类型 --这里以163为例
host smtp..com #邮箱服务器地址
from uername@.com #要从哪个邮箱发出
auth login
user uername@163 #邮箱用户名
password pwd #邮箱密码 (建议使用邮箱自带的授权密码)
account default: #邮箱类型

安装mutt并配置

yum install mutt -y 

[root@bogon etc]#cat /etc/Muttrc #配置文件设置发件人
source /etc/Muttrc.local set sendmail="/usr/local/msmtp/bin/msmtp" #msmtp命令的绝对路径
set use_from=yes
set realname="root" #发件人
set editor="vim"
set copy=no

测试发件

echo  | mutt -s "测试" m18001131583@.com  <  /etc/hosts

“内容”        --主题    --收件人                          --绝对路径下的文件内容

故障锦集:

安装msmtp的时候make出现如下错误;

tls.c: In function ‘tls_check_cert’:
tls.c::: error: unknown type name ‘STACK’
STACK *subj_alt_names;
^
tls.c: In function ‘tls_init’:
tls.c::: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
ssl_method = force_sslv3 ? SSLv3_client_method() : SSLv23_client_method();
^
make[]: *** [tls.o] Error
make[]: Leaving directory `/root/msmtp-1.4./src'
make[]: *** [all-recursive] Error
make[]: Leaving directory `/root/msmtp-1.4.'
make: *** [all] Error

解决办法;编译安装时关掉ssl的认证

./configure --prefix=/usr/local/msmtp --with-ssl=no

mutt+msmtp实现在shell环境中发送电子邮件的更多相关文章

  1. Shell 环境中的输入输出重定向

    Linux Shell 环境中的输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误. 1.重定向标准输出到文件: cat fo > foo.txt 2 ...

  2. 转: "SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092"

    在 Mac 2011 Outlook 中发送电子邮件时,您可能会收到下面的错误消息: 无法发送邮件.SMTP 服务器无法识别任何 Outlook 所支持的身份验证方法.请尝试更改帐户设置中的 SMTP ...

  3. 在ASP.NET中发送电子邮件的实例教程

    首先.导入命名空间: 代码如下 复制代码 using System.Net.Mail; 定义发送电子邮件的方法[网上很多不同的,可以对比着看一下,WinForm的也适用]: 代码如下 复制代码 /// ...

  4. [转]Shell脚本中发送html邮件的方法

    <span "="">作为运维人员,免不了要编写一些监控脚本,并将监控结果及时的发送出来.那么通过邮件发送是比较常用的一种通知方式了.通常的,如果需要发送的内 ...

  5. JAVA中发送电子邮件的方法

    JAVA中发送邮件的方法不复杂,使用sun的JavaMail的架包就可以实现.  一.下载JavaMail的架包,并导入项目中,如下: 二.附上代码例子,如下: 1.在main函数中对各项参数进行赋值 ...

  6. [golang]使用gomail发邮件(在Go中发送电子邮件的最佳方式)

    1 前言 定义邮箱服务器连接信息,如果是网易邮箱 pass填密码,qq邮箱填授权码(客户端专用密码). gomail包: go get gopkg.in/gomail.v2 更多功能可以参考 http ...

  7. 9. shell环境

    • printenv –打印部分或所有的环境变量 • set –设置 shell 选项 • export —导出环境变量,让随后执行的程序知道. • alias –创建命令别名 1.shell环境:s ...

  8. shell环境

    1 引言 一个进程运行在shell环境中,理解进程运行的环境是十分重要的.环境影响着进程的行为,利用环境提供的便利,可以极大地提高开发效率.本节深入讨论shell中与进程有关的环境问题,包括命令行参数 ...

  9. Shell脚本中的export

    shell 与 export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序.运行shell脚 ...

随机推荐

  1. docker基础之镜像

    获取镜像 从 Docker Registry 获取镜像的命令是 docker pull.其命令格式为: docker pull [选项] [Docker Registry地址]<仓库名>: ...

  2. 打包JAR,MANIFEST.MF格式

    MANIFEST.MF文件格式详解 1. 基本格式 属性名称+:+空格+属性值 2. 没行最多72个字符,换行继续必须以空格开头 3. 文件最后必须要有一个回车换行 4. Class-Path 当前路 ...

  3. 6、JPA-映射-单向一对多

    一个用户对应多个订单 实体类 Customer package com.jpa.yingshe; import javax.persistence.*; import java.util.HashSe ...

  4. Windows Azure中国版试用

    Winodws Azure刚出来那会都没怎么关注,就在一些网页新闻上见过一些报道,之前阿里云在博客里搞过推广,拿什么豆可以换,当时也就是看了一下没去用过. 有次在一群里别人说Windows Azure ...

  5. Shell编程(三)Shell特性

    !$:显示上一条命令最后一个参数 $?: 上个命令的退出状态,或函数的返回值. alias xxx="命令":给命令取别名 xxx 通过 vim ~/.bashrc 里编辑,可以来 ...

  6. Ant和Maven

    Ant和Maven都是基于Java的构建(build)工具.理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷.Ant是软件构建工具,Maven的定位是软件项目管理和理解工具. ...

  7. Doker安装日志,留个记录而已

    tianye@ubuntu:/usr/share$ wget -qO- https://get.docker.com/ | sh # Executing docker install script, ...

  8. idea上使用maven模块开发

    使用maven模块开发: 使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为common(域模型层).dao(数据库访问层).s ...

  9. ArcGis Python脚本——要素图斑自动编号,自上而下,从左到右

    原理: 利用图斑最小外包矩形的左上角坐标(数学坐标)Y坐标将序.X坐标升序的方式获取自上而下,从左到右的要素记录排序,然后遍历编号. "!shape.extent.xmin!"计算 ...

  10. python科学计算

    windows下python科学计算库的下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/(由于C运行库的问题,scipy在linux下可以用pip安装,而 ...