作者:邓聪聪

   为了自动化接收服务端的文件备份信息,利用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. 16.观察者模式(Observer Pattern)

    动机(Motivate):     在软件构建 过程中,我们需要为某些对象建立一种“通知依赖关系” --------一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这 ...

  2. python 第一类对象 闭包 迭代器

    ########################总结########################### 1. 函数名 -> 第一类对象 函数名就是变量名. 函数可以赋值 函数可以作为集合类的 ...

  3. .net中 登录 才能下载文件的方法 Response.WriteFile实现下载

    protected void Button2_Click(object sender, EventArgs e) { //可以在这里加是否登录的判断 string fileName = "c ...

  4. typeahead使用ajax补全输入框的方法

    最近想使用一个输入框补全的功能,bootstrap有,但是官方手册太简单,搞了好几天,终于弄好了. 官方使用的方法是/<input type="text" data-prov ...

  5. canvas高级篇(转载)移动元素

    本文转载在http://bbs.blueidea.com/thread-2979405-1-1.html 哈哈哈,好骚气!终于解决了我的需求.可以移动canvas内的多个元素 <!DOCTYPE ...

  6. webService的介绍与简单使用

    webService开发项目介绍: 1 Webservice:跨语言跨平台的远程调用技术.Web service 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术. ...

  7. 细说REST API安全之防止数据篡改

    通常可以使用MD5或SHA-1对API参数进行签名,在服务器端通过校验签名结果来验证数据是否被修改. 举个例子:添加用户 地址:http://192.168.0.10/v1/user/add?sign ...

  8. HTTP 错误 500.21 - Internal Server Error 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    解决方案是 解决方案:只需要重新安装一下就可以了.在Frameworv4.0的目录中安装的程序以管理员权限重新运行一下就可以了. %windir%\Microsoft.NET\Framework\v4 ...

  9. C++获取MAC与IP

    #include <Nb30.h> #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"netapi ...

  10. Newtonsoft.Json序列化字符串-格式化

    转自:https://blog.csdn.net/wlphlj/article/details/51982866最近C#中需要将实体进行json序列化,使用了Newtonsoft.Json publi ...