背景

使用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. 导入drupal中文语言包
  2. 再爆安全漏洞,这次轮到Jackson了,竟由阿里云上报
  3. 【Linux环境】修改登录提示语(工作小情趣)+ Banner在线生成工具链接分享(腾讯云 CentOS release 7.5.1804)
  4. 派对屋3000效果器怎样调试_怎样测试自己的信用卡是否进了小黑屋
  5. jquery通过ajax向后台发送(checkbox)数组,并在后台接收,(发送的数据是checkedbox)...
  6. C#规范整理·集合和Linq
  7. Mysql学习总结(27)——Mysql数据库字符串函数
  8. web开发模式+三层架构与MVC
  9. 《剑指offer》面试题16——反转链表(C++)
  10. delphi7连接oracle,delphi7.0连接oracle数据库的.doc
  11. 用于解决SQL2014安装时出现需要更新vs2010的问题
  12. 20135202闫佳歆-第四章家庭作业-4.47+4.48
  13. C# 曲线控件 曲线绘制 实时曲线 多曲线控件 开发
  14. 解决“Macbook外接显示器后键盘音量键无法使用以及Numlock失效”的问题
  15. MATLAB加柯西分布噪声图像和加柯西分布噪声图像直方图
  16. Win10设置虚拟机桥接连接
  17. 怎么从已有文件中挑选需要的文字重新生成新文件_word 中如何实现 一个正文位置输入 另一个正文地方自动生成一样的...
  18. SQL优化很难怎么办?给你一个简单暴力的办法
  19. 检样用计算机时间,怎么检查电脑用了多久?
  20. FAST-LIO论文阅读

热门文章

  1. 首期openGauss训练营结营,48个FAQ和全部PPT通通给你,随附62人结营学员名单
  2. TiFlash:并非另一个 T + 1 列存数据库
  3. 10分钟搞懂:亿级用户的分布式数据存储解决方案!
  4. 解读年度数据库PostgreSQL:如何巧妙地实现缓冲区管理器
  5. 移动计算云分布式数据缓存服务,实现快速可靠的跨区域多活复制
  6. 如何高效地存储与检索大规模的图谱数据?
  7. 一文带你了解GaussDB(DWS) 的Roach逻辑备份实现原理
  8. 实践案例丨教你一键构建部署发布前端和Node.js服务
  9. c语言出勤率随机,c
  10. 吴恩达 深度学习 编程作业(1-3)- Planar data classification with one hidden layer(平面花形状)