有时候工作中需要一观察一些数据,当达到一直的阈值会告警,而告警常用的是通过邮件来做,下面的这段是和大家分享如何使用python做邮件告警。
首先,找到使用的邮件服务器的地址,及一个合法的用户,一般公司有自己的邮件服务器,为了方便,我使用163邮箱来举例子。
执行ping smtp.163.com命令,查看邮件的地址。
那么邮件服务器的地址为123.125.50.135
第二,把需要的附件准备好,可以使用python写文件的方式。
第三,正式发邮件:
#!/usr/bin/env python2.6
# -*- coding: UTF-8 -*-
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import COMMASPACE,formatdate
from email import encoders
import os
#server['name'], server['user'], server['passwd']
def send_mail(server, fro, to, subject, text, files=[]):
msg = MIMEMultipart()
msg['From'] = fro
msg['Subject'] = subject
msg['To'] = COMMASPACE.join(to)
msg['Date'] = formatdate(localtime=True)
msg.attach(MIMEText(text))
for file in files:
part = MIMEBase('application', 'octet-stream')
part.set_payload( open(file,"rb").read() )
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file))
msg.attach(part)
import smtplib
smtp = smtplib.SMTP(server['name'])
smtp.login(server['user'], server['passwd'])
smtp.sendmail(fro, to, msg.as_string())
smtp.close()
if __name__ == "__main__":
server={}
server['name'] = 'smtp.163.com'# 如果是写自己公司的邮件服务器,请使用IP的方式,不然会有DNS解析的问题
#server['name'] = '123.125.50.135:25'
server['user'] = 'Yourname@163.com' # 用户名
server['passwd'] = 'yourPWD' # 密码
fro = 'ssergsw@163.com'
to = ['xxx@163.com']
subject = "test email "
text = "this is a test mail, hello"
files = ["info.txt"]
send_mail(server, fro, to, subject, text, files)
分享到:
相关推荐
能够实时监控邮箱,有新邮件到达,发送短信通知。发短信用的是飞信的短信接口,有飞信账号即可使用,给自己发完全免费。
Python监控CentOS磁盘空间,磁盘空间利用大于80%则发邮件通知。
SVN变化发送邮件(Python实现) 实现了svn一但有变化将发送邮件
当抓取的信息更新的时候,可以通过邮件进行动态通知
基于Python3的找工作利器--Boss直聘来消息邮件通知, 自动发送简历脚本
主要介绍了python实现用户登陆邮件通知的方法,实例分析了Python计划任务与邮件发送的使用技巧,需要的朋友可以参考下
要使用Python发送电子邮件,您可以使用内置的 `smtplib` 模块和 `email` 模块。以下是一个简单的示例,演示如何使用这些模块来发送电子邮件: ```python import smtplib from email.mime.text import MIMEText from...
基于Python实现自动化定时连接远程ssh监控GPU空闲情况, 若符合自定义阈值规则发送邮件通知使用者 1.使用说明 安装依赖, 修改config.yaml配置中的信息, 运行程序即可 pip install -r requirements.txt nohup python -...
Python脚本搜索Outlook邮箱中的电信运营商维护通知电子邮件,提取其中的信息并为其创建Outlook日历事件
python监控服务器用户登陆并发送通知邮件方法 在linux计划任务里的一个定时执行小程序。当监测到有新的用户登陆时,会将发送一封带有登录新用户的用户名的邮件到预先指定的邮箱中,完成通知管理员的工作。
工作过程中需要对现有的机器、服务做监控,当服务出现问题后,邮件通知对应的人 问题: 使用python 2.7自带的email库来进行邮件的发送,但是发送后没有展示收件人列表内容 问题代码示例: # -*- coding:utf-8 -*- ...
股票 简单的python股票电子邮件通知程序
有一个应用或者服务,然后你想要让你的用户能够使用他们的提供商提供的通知?你无需自己实现ש解决方案,或者使用单独的提供商库。这是一个用于所有通知提供商的一站式商店,带有统一并且简单的接口。
python利用Scrapy爬取同花顺个股行情并发送邮件通知,结合现实场景利用scrapy给我们带来便利。 有炒股或者其它理财产品的朋友经常会关心每日的个股走势,如果结合爬虫进行实时通知自己,并根据自己预想的行情进行...
功能:基于python+APScheduler的定时任务管理系统,目前定时执行的任务为获取指定网页的源码并与关键字比对,若比对通过则发送邮件通知。 开发语言及框架为后端为:python+django 安装教程 系统中完成python3安装后...
一个监控linux服务的python ,监控到服务的请求发生异常发送邮件通知
代码中python代码在这里http://download.csdn.net/detail/zpczsc/8907463 和python配合实现成绩的查询和邮件通知。 如果使用crontab可实现上述过程自动化(定时执行此shell代码即可)。
#!/bin/bash i=$(cat /dev/urandom | head -n 10 | md5sum | head -c 10) echo $i >> /data/1.log 2>&1 expect test.expect $i >> /data/1.log 2>&1 sleep 3 python /opt/file/se.py $i
通过轮询proc来监视Linux进程,并在它们完成时通过电子邮件或桌面通知进行通知。_Python_下载.zip