CentOS6.5使用mutt + msmtp自动发送邮件

CentOS6.5使用mutt + msmtp自动发送邮件

下载并安装 msmtp

[root@ ~]#: yum install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel -y # 回车
安装 gcc 编译器

[root@ ~]#: wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2 # 回车

报错:要以不安全的方式连接至 downloads.sourceforge.net,使用‘–no-check-certificate’
[root@ ~]#: wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2 --no-check-certificate #添加参数

2019-09-24 11:43:00 (120 KB/s) - 已保存 “msmtp-1.4.32.tar.bz2” [303652/303652]) #已下载
msmtp-1.4.32.tar.bz2 软件体积不大,但是下载的速度很慢. 也可以在 win7 中下载,再传到 CentOS 中.

[root@ ~]#: tar -jxvf msmtp-1.4.32.tar.bz2 # 解压
[root@ ~]#: cd msmtp-1.4.32
[root@ msmtp-1.4.32]#: ./configure --prefix=/usr/local/msmtp #注意:这一行命令开头有个 .
[root@ msmtp-1.4.32]#: make && make install # 编译
[root@ msmtp-1.4.32]#: cd ~
[root@~]#: mkdir /usr/local/msmtp/etc
[root@ ~]#: touch /usr/local/msmtp/etc/msmtprc
[root@ ~]#: vi /usr/local/msmtp/etc/msmtprc # 输入以下内容:

#注意,配置文件中不能出现中文,哪怕写在注释里也不行,否则报错

defaults
tls on
logfile /usr/local/msmtp/msmtp.log
account acc1
host smtp.163.com #网易 smtp 服务器地址,需要在网易 mail.163.com 网页中开启 smtp 服务
port 25
from addr1@163.com #发件箱地址
auth login
tls off #网易免费邮箱的ssl证书通不过验证,所以关闭tls证书验证
user addr1@163.com # 发件箱地址
password abc # 网易授权码(注意:这里不是邮箱的登录密码)
#假如你在 mail.163.com 使用密码 123 登录邮箱,然后在邮箱设置中开启 smtp 服务后, 
#网易会要求你设置一个授权码,假如授权码是 abc. 那这里填写的就是 abc 而不是 123.

account acc2 # 可以填写多个邮箱配置信息
host smtp.qq.com
port 465
from 123@qq.com
auth login
tls_starttls off #腾讯邮箱不支持tls,需要关闭tls_starttls
tls on
tls_certcheck off
user 123@qq.com
password abc

account default : acc1 #默认载入配置信息 acc1
#保存退出

安装 mutt

[root@ ~]#: yum install mutt -y
[root@ ~]#: vi /etc/Muttrc #编辑配置文件,配置文件原有内容不动,在结尾输入以下内容:

#还是和上面一样,配置文件中不要出现中文
#diy
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=no
set realname="YourName" #发邮件时候显示的名字,如果系统语言环境是中文的话,这里可以写中文.
set editor="vim"
#保存退出

邮件测试

[root@ ~]#: echo “You can type something here.” | mutt -s “This is Title” addr2@163.com
------------------------------------邮件正文---------------------------邮件标题-----------收件箱地址
也可以先把邮件的正文写在 txt 文件中,然后使用 cat 输出给 mutt 令其发出.
[root@ ~]#: echo “如果系统默认环境是中文 zh_CN UTF-8 的话,可以用中文写邮件” > mail.txt
[root@ ~]#: cat mail.txt | mutt -s “也可以写中文标题” addr2@163.com
收到的邮件如下图:
在这里插入图片描述

开机自动发邮件

开机自动发邮件,一旦服务器重启就发一封邮件给管理员.

脚本文件

[root@ ~]#: mkdir mail_sh/
[root@ ~]#: cd mail_sh/
[root@ mail_sh]#: touch send_onboot.sh
[root@ mail_sh]#: chmod 744 send_onboot.sh
[root@ mail_sh]#: vi send_onboot.sh # 输入以下内容:

#!/bin/bash
sleep 60s 
#休眠 60 秒,等待系统连上外网
echo "CentOS 刚才重启了..." | mutt -s "CentOS重启" addr@163.com

echo >> /root/mail_sh/mail_sh.log
echo "CentOS重启" >> /root/mail_sh/mail_sh.log
date +%F' '%H:%M >> /root/mail_sh/mail_sh.log # 把重启时间写入日志
echo "==================================================" >> /root/mail_sh/mail_sh.log
#保存退出

开机自动运行脚本

[root@ ~]#: cp /etc/rc.local /etc/rc.local.bak #备份开机文件
[root@ ~]#: vi /etc/rc.local #在结尾输入以下内容:

/bin/bash /root/mail_sh/send_onboot.sh >/dev/null 2>/dev/null
#注意:这里开头要写上 /bin/bash
#保存退出

[root@ ~]#: reboot #重启后,系统即可启动脚本自动发送邮件.

使用脚本定时发邮件

公司电脑的网络环境是: PC服务器—路由器—互联网.公司使用的是普通宽带,没有固定IP
如果想在家通过外网连接到公司PC服务器的话,一般需要用到的方式是 DDNS,但是免费DDNS总是感觉不稳定.
此时可以在PC服务器上安装虚拟机,再结合本文的内容,使用脚本让虚拟机每小时报告一次路由器外网的IP地址.
由于运营商(联通,电信)不会频繁更换路由器的外网IP(起码不会一小时更换好几个IP)
因此可以通过虚拟机发来的外网IP连接到路由器,只需要在路由器上做端口转发(也叫:虚拟服务器)将网络连接(ssh, ftp 等)转到PC服务器就可以了.

脚本文件

[root@ ~]#: cd mail_sh/
[root@ mail_sh]#: touch send_ip_info.sh
[root@ mail_sh]#: chmod 744 send_ip_info.sh
[root@ mail_sh]#: vi send_ip_info.sh #输入以下内容:

#!/bin/bash
echo > /root/mail_sh/temp.txt
echo > /root/mail_sh/ip_current.txt

curl http://members.3322.org/dyndns/getip >> /root/mail_sh/ip_current.txt
echo >> /root/mail_sh/ip_current.txt
ip=`cat /root/mail_sh/ip_current.txt`
echo "CentOS 外网IP: " $ip >> /root/mail_sh/temp.txt
cat /root/mail_sh/temp.txt | mutt -s "CentOS 外网IP" addr@163.com

echo >> /root/mail_sh/temp.txt
date +%F' '%H:%M >> /root/mail_sh/temp.txt
echo "==================================================" >> /root/mail_sh/temp.txt
cat /root/mail_sh/temp.txt >> /root/mail_sh/ip_info.log
cat /root/mail_sh/temp.txt >> /root/mail_sh/mail_sh.log

echo > /root/mail_sh/temp.txt
echo > /root/mail_sh/ip_current.txt
#保存退出

使用 crontab 定时发送邮件

[root@ ~]#: crontab -e # 配置计划任务,输入以下内容,注释不要写

#下面写了三条运行脚本的配置,可以根据自己的要求,写一条就行
#分 时 日 月 星
 0 * * * *  /root/mail_sh/send_ip_info.sh #每小时的第0分钟运行脚本,也就是每小时运行一次
 */15 * * * *  /root/mail_sh/send_ip_info.sh #每15分钟运行一次脚本
 1,11,21,31 * * *  *  /root/mail_sh/send_ip_info.sh # 每小时的第1,第11,第21,第31分钟各运行一次脚本
 #保存退出

[root@ ~]#: service crond restart # 重启 crontab 服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值