背景

使用QQ邮箱告警一直失败,查了很多资料,发现ssl规则,和设置端口设置下即可

脚本内容(163邮箱,可直接使用)

[root@hf-01 ~]# vim /usr/lib/zabbix/alertscripts/mail.py

#!/usr/bin/env python

#-*- coding: UTF-8 -*-

import os,sys

reload(sys)

sys.setdefaultencoding('utf8')

import getopt

import smtplib

from email.MIMEText import MIMEText

from email.MIMEMultipart import MIMEMultipart

from subprocess import *

def sendqqmail(username,password,mailfrom,mailto,subject,content):

gserver = 'smtp.163.com'

##定义发邮件类型

gport = 25

try:

msg = MIMEText(unicode(content).encode('utf-8'))

msg['from'] = mailfrom

msg['to'] = mailto

msg['Reply-To'] = mailfrom

msg['Subject'] = subject

smtp = smtplib.SMTP(gserver, gport)

smtp.set_debuglevel(0)

smtp.ehlo()

smtp.login(username,password)

smtp.sendmail(mailfrom, mailto, msg.as_string())

smtp.close()

except Exception,err:

print "Send mail failed. Error: %s" % err

def main():

to=sys.argv[1]

subject=sys.argv[2]

content=sys.argv[3]

##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)

sendqqmail('163邮箱','密码','163邮箱',to,subject,content)

if __name__ == "__main__":

main()

#####脚本使用说明######

#1. 首先定义好脚本中的邮箱账号和密码

#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

保存退出

在使用该脚本QQ邮箱告警的时候,会发现各种错误,其实若想使用,有一些细节稍微改动下即可

第一处位置

将gport = 25改为 gport = 465

因为QQ邮箱需要使用SSL,端口号为465或者587

第二处位置

将smtp = smtplib.SMTP(gserver, gport)

smtp = smtplib.SMTP_SSL(gserver, gport)

#ssl连接,把它改为smtp = smtplib.SMTP_SSL(gserver, gport)

最终QQ邮箱告警脚本,如下

[root@hf-01 alertscripts]# cat /usr/lib/zabbix/alertscripts/qqmail.py

#!/usr/bin/env python

#-*- coding: UTF-8 -*-

import os,sys

reload(sys)

sys.setdefaultencoding('utf8')

import getopt

import smtplib

from email.MIMEText import MIMEText

from email.MIMEMultipart import MIMEMultipart

from subprocess import *

def sendqqmail(username,password,mailfrom,mailto,subject,content):

gserver = 'smtp.qq.com'

##定义发邮件类型

gport = 465

try:

msg = MIMEText(unicode(content).encode('utf-8'))

msg['from'] = mailfrom

msg['to'] = mailto

msg['Reply-To'] = mailfrom

msg['Subject'] = subject

#ssl连接,把下面改为smtp = smtplib.SMTP_SSL(gserver, gport)

smtp = smtplib.SMTP_SSL(gserver, gport)

smtp.set_debuglevel(0)

smtp.ehlo()

smtp.login(username,password)

smtp.sendmail(mailfrom, mailto, msg.as_string())

smtp.close()

except Exception,err:

print "Send mail failed. Error: %s" % err

def main():

to=sys.argv[1]

subject=sys.argv[2]

content=sys.argv[3]

##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)

sendqqmail('781851883@qq.com','mjjqsasaqxfwbcdj','781851883@qq.com',to,subject,content)

if __name__ == "__main__":

main()

#####脚本使用说明######

#1. 首先定义好脚本中的邮箱账号和密码

#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

[root@hf-01 alertscripts]#

linux的QQ邮件告警,QQ邮箱告警注意点相关推荐

  1. linux如何写邮件到QQ邮箱

    linux如何写邮件到QQ邮箱 作为一名运维人,肯定不会,也不想7*24h待在电脑旁,观察服务器的情况. 要做一名高级运维,必会脚本. [注:]模拟场景:当剩余可用内存不足时,linux服务器会自动发 ...

  2. 通过QQ邮箱的SMTP服务器发送QQ邮件至163邮箱提示“发送邮件失败”的解决方案(三种可能性,不妨一试)...

    IDE:Visual Studio 2010[C#] + .NET 4.0框架 引用.NET 4.0框架的System.Net.Mail命名空间开发发送邮件的程序.发送方:QQ邮箱 接收方:163邮箱 ...

  3. linux如何发邮件到外部邮箱

    linux如何发邮件到外部邮箱 使用linux时,有时我们想发邮件给朋友或同事,可不可以通过命令行直接发呢? 想通过linux监控网站或者系统状况并自动报警,如何使用脚本发出邮件给外部邮箱呢? 不需要 ...

  4. springboot发送qq邮件

    springboot发送qq邮件 1_开启邮箱相关权限并获取邮箱授权码 2_实现功能 2.1_添加mail的依赖 2.1.1_创建工程时添加 2.1.2_在工程中添加 2.2_配置文件applicat ...

  5. Java中利用qqemai发送QQ邮件

    最近自己了解下Java中利用mai发送QQ邮件 1.QQ邮箱设置 1.1 进去QQ邮箱-->设置-->账号-->进行设置如下图 以下源码 package test; import j ...

  6. linux mutt接收邮件,Linux下安装使用Mutt邮件客户端并配置邮件警报功能

    0.在正式安装Mutt之前先检查一下两个安全组件. OPENSSL: 复制代码 代码如下: openssl version -a #检查安装及版本信息 SASL(系统一般已经自带): 复制代码 代码如 ...

  7. Zabbix创建用户及告警媒介配置,配置qq邮箱告警配置/163(下)

    Zabbix创建用户及告警媒介配置,配置qq邮箱告警配置/163(下) 上篇文章我们在虚拟机里安装了mailx服务, 修改了mail.rc的配置文件 在zabbix-server的邮件配置路径下创建了 ...

  8. 转载:Linux下用mutt给QQ邮箱发匿名邮件

    发邮件?用网页不就行了? 一般的邮箱都是通过帐号加密码然后登录到腾讯的Mail Server.然后由Mail Server进行转发.而自己的电脑如果要进行类似的服务就要花费一定的功夫了.以前是可以通过 ...

  9. Linux服务管理-zabbix监控邮箱告警配置

    zabbix监控邮箱告警配置及自定义监控 1.在web界面配置 详情请看https://blog.csdn.net/Mzh_CSDN/article/details/107433532 2.通过脚本用 ...

最新文章

  1. 牛客--追债之旅 两种解法
  2. 2020秋季人工神经网络作业登记与批改
  3. linux c 错误 'for' loop initial declaration used outside C99 mode
  4. div与span区别及用法
  5. flume高可用-balance-测试运行
  6. ThreadLocal类与Synchonized对象锁的区别
  7. wince手机投屏代码_除了 iOS,这些手机系统你肯定没用过
  8. 大型网站登录信息保存实现-整理
  9. Spring Boot 项目总是创建失败,这几个备选方案一定要收藏
  10. 淘宝高可伸缩高性能架构的相关框架介绍
  11. qq音乐api接口梳理
  12. 有机农业产品宣传介绍PPT模板
  13. TRUNK 的介绍和配置
  14. Android发送通知
  15. 写给立志进入网络行业的朋友的一些忠告
  16. SLAM十四讲第三讲实践:useGeometry------小白强行读代码
  17. i5 11400和锐龙r5 5600X哪个强
  18. python BFS最短路径问题
  19. 北京交通大学计算机考研02103复试经验分享
  20. 力扣解法汇总1765-地图中的最高点

热门文章

  1. 视频PPT互动问答丨数据库技术前沿的创新与实践专题
  2. 资源放送丨《PostgreSQL中的锁》PPT视频
  3. 15日直播预告丨SQL条件等价改写秘笈(主讲人:怀晓明)
  4. 今晚直播:Oracle Nologging 全面总结
  5. MySQL DBA亲授MySQL InnoDB事务ACID实现原理
  6. 基于权重的节点驱逐 - Oracle RAC 12.2 新特性
  7. 6张图为你分析Kafka Producer 消息缓存模型
  8. MRS HetuEgine的数据虚拟化实践
  9. 数据不够,怎么训练数据集?别怕,有TA
  10. SpringIOC容器和Bean的配置