mutt+msmtp实现在shell环境中发送电子邮件
作者:邓聪聪
为了自动化接收服务端的文件备份信息,利用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环境中发送电子邮件的更多相关文章
- Shell 环境中的输入输出重定向
Linux Shell 环境中的输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误. 1.重定向标准输出到文件: cat fo > foo.txt 2 ...
- 转: "SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092"
在 Mac 2011 Outlook 中发送电子邮件时,您可能会收到下面的错误消息: 无法发送邮件.SMTP 服务器无法识别任何 Outlook 所支持的身份验证方法.请尝试更改帐户设置中的 SMTP ...
- 在ASP.NET中发送电子邮件的实例教程
首先.导入命名空间: 代码如下 复制代码 using System.Net.Mail; 定义发送电子邮件的方法[网上很多不同的,可以对比着看一下,WinForm的也适用]: 代码如下 复制代码 /// ...
- [转]Shell脚本中发送html邮件的方法
<span "="">作为运维人员,免不了要编写一些监控脚本,并将监控结果及时的发送出来.那么通过邮件发送是比较常用的一种通知方式了.通常的,如果需要发送的内 ...
- JAVA中发送电子邮件的方法
JAVA中发送邮件的方法不复杂,使用sun的JavaMail的架包就可以实现. 一.下载JavaMail的架包,并导入项目中,如下: 二.附上代码例子,如下: 1.在main函数中对各项参数进行赋值 ...
- [golang]使用gomail发邮件(在Go中发送电子邮件的最佳方式)
1 前言 定义邮箱服务器连接信息,如果是网易邮箱 pass填密码,qq邮箱填授权码(客户端专用密码). gomail包: go get gopkg.in/gomail.v2 更多功能可以参考 http ...
- 9. shell环境
• printenv –打印部分或所有的环境变量 • set –设置 shell 选项 • export —导出环境变量,让随后执行的程序知道. • alias –创建命令别名 1.shell环境:s ...
- shell环境
1 引言 一个进程运行在shell环境中,理解进程运行的环境是十分重要的.环境影响着进程的行为,利用环境提供的便利,可以极大地提高开发效率.本节深入讨论shell中与进程有关的环境问题,包括命令行参数 ...
- Shell脚本中的export
shell 与 export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序.运行shell脚 ...
随机推荐
- Python中字符串的操作
字符串的基本详情 用单引号或者双引号包含的内容 不支持直接在内存中修改 可支持索引.切片.成员检查.长度查看 字符串赋值到变量 str1 = 'hello world' 字符串打印查看 str1 = ...
- net-snmp开发教程
目录 1................................................................................................ ...
- uby on rails 用户密码加密
运行环境: rails 4.2.1 ruby 2.0.0p481 mysql(支持多种数据库) 在实际的项目中,需要注意对用户 ...
- UESTC - 1999 也许这是唯一能阻止乐爷AK的方法( Just for Fun )(回文树)
https://vjudge.net/problem/UESTC-1999 题意 对于一个初始为空的字符串S,你可以进行以下两种操作: 1. 在S的末尾加一个小写字母. 2. 移除S的最后一个字母. ...
- Asp.net+WebSocket+Emgucv实时人脸识别
上个月在网上看到一个用web实现简单AR效果的文章,然后自己一路折腾,最后折腾出来一个 Asp.net+WebSocket+Emgucv实时人脸识别的东西,网上也有不少相关资料,有用winform的也 ...
- Vector集合
Vector集合也是List接口的一个实现类,但是它是同步的,这就意味着是单线程的,速度比较慢,被ArrayList集合所取代了(PS:为什么我现在也还不知道,先记录了)
- ThinkJS 开发node后端 使用 简介
ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单.高效.从 3.0 开始,框架底层基于 Koa 2.x 实现,兼容 Koa 的所有功能. ...
- Java8新特性 重复注解与类型注解
import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.anno ...
- 12.scrapy框架
一.Scrapy 框架简介 1.简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个 ...
- AOSP android 源码下载
(1)下载 repo 工具 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/re ...