一、Python发送邮件

import smtplib
from email.mime.text import MIMEText
def send(email_to,title,content):
msg = MIMEText(content,"plain","utf-8")
froms = "1257063655@qq.com"
to_list = email_to.replace("\n","").split(",")
print(to_list)
msg["Subject"] = title # 传参
msg["From"] = froms # 发件人
msg["To"] = email_to # 收件人
server = smtplib.SMTP_SSL("smtp.qq.com",)
server.login(froms,"oylltctlxijogdbb")
server.sendmail(froms,to_list,msg.as_string())
# 发送人,收件人列表, # 内容
print("发送成功")
server.quit() title = "邮件报警测试"
content = """系统磁盘空间或内存可能快要满了"""
email_to = """
@qq.com
"""
if __name__ == '__main__':
send(email_to,title,content)

二、zabbix实现邮件报警

1)添加python脚本文件

#! /usr/bin/env python3
# -*- coding: utf- -*-
import smtplib
import sys
from email.mime.text import MIMEText
def send_mail(email_to,title,content):
msg = MIMEText(content,"plain","utf-8")
froms = "1257063655@qq.com"
to_list = email_to.replace("\n","").split(",")
print(to_list)
msg["Subject"] = title # 传参
msg["From"] = froms # 发件人
msg["To"] = email_to # 收件人
server = smtplib.SMTP_SSL("smtp.qq.com",)
server.login(froms,"oylltctlxijogdbb")
server.sendmail(froms,to_list,msg.as_string())
server.quit() if __name__ == '__main__':
send_mail(sys.argv[], sys.argv[], sys.argv[])

send_email.py

2) 使用shell脚本去调用python脚本来进行发送邮件

[root@zabbix alertscripts]# cat send_email.sh
#!/bin/sh
/usr/bin/python3 /usr/local/zabbix/alertscripts/send_email.py $ $ $

[root@zabbix alertscripts]# chmod o+x send_email.sh

163邮箱测试

from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import logging
import smtplib def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr)) from_addr = 'nick1236xx@163.com'
password = 'dasb1234' # 授权码 # 输入SMTP服务器地址:
smtp_server = 'smtp.163.com' def sendmail(to_addr, link, secure=True):
title = '<html><body><h3>亲爱的<a data-auto-link="1" href="mailto:%s" target="_blank">%s</a>,您好:</h3>' % (to_addr, to_addr)
reset = "<div style = 'padding-left:55px;padding-right:55px;font-family:'微软雅黑','黑体',arial;font-size:14px;'>重置密码</div>"
body = '<p>请点击以下链接进行重置密码 <a href="%s">%s</a></p>' % (link, reset)
tail = '如果您并不是Awesome用户,可能是其他用户误输入了您的邮箱地址。</body></html>'
html = title + body + tail
msg = MIMEText(html, 'html', 'utf-8')
# 发送地址格式 都需要编码
msg['From'] = _format_addr('Awesome Python Webapp <%s>' % from_addr)
msg['To'] = _format_addr('亲爱的用户 <%s>' % to_addr)
msg['Subject'] = Header('重置密码', 'utf-8').encode()
try:
if secure:
server = smtplib.SMTP_SSL(smtp_server, ) # 启用SSL发信, 端口一般是465
else:
server = smtplib.SMTP(smtp_server, )
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
except smtplib.SMTPException as e:
logging.error('sendemail:%s' % e) if __name__ == '__main__':
# 输入收件人地址:
to_addr = '150648003@qq.com'
sendmail(to_addr, 'http://www.baidu.com', True)

python发送邮箱的更多相关文章

  1. python发送邮箱的小项目

    import smtplibfrom email.mime.text import MIMEText receiver = input('输入接受者邮箱\n')subject = input('输入标 ...

  2. python 发送附件至邮箱

    python 发送附件至邮箱 import smtplibfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIME ...

  3. 利用Python+163邮箱授权码发送带附件的邮件

    背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...

  4. 使用python发送163邮件 qq邮箱

    使用python发送163邮件 def send_email(title, content): import smtplib from email.mime.multipart import MIME ...

  5. python给邮箱发送消息

    首先要用到两个模块  并且大同你的发送邮箱smtp 最开始测试没打通了好久 smtplib是提供邮箱smtp服务, email是提供你发送消息的格式之类服务 import smtplib from e ...

  6. 【转】Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本(一)

    Oracle 的AWR 报告能很好的提供有关DB性能的信息. 所以DBA 需要定期的查看AWR的报告. 有关AWR报告的说明参考: Oracle AWR 介绍 http://blog.csdn.net ...

  7. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  8. 转: Oracle AWR 报告 每天自动生成并发送邮箱

    原贴地址:http://www.cnblogs.com/vigarbuaa/archive/2012/09/05/2671794.html Oracle AWR 介绍http://blog.csdn. ...

  9. [Python] 发送email的几种方式

    python发送email还是比較简单的,能够通过登录邮件服务来发送,linux下也能够使用调用sendmail命令来发送,还能够使用本地或者是远程的smtp服务来发送邮件,无论是单个,群发,还是抄送 ...

随机推荐

  1. jvm--深入理解java虚拟机 精华总结(面试)(转)

    深入理解java虚拟机 精华总结(面试)(转) 原文地址:http://www.cnblogs.com/prayers/p/5515245.html 一.运行时数据区域 3 1.1 程序计数器 3 1 ...

  2. [UE4]Wrap Box流布局

    一.Wrap Box的子控件可以根据Wrap Box的大小自动换行 1.Wrap Box.Inner Slot Padding:Wrap Box所有子控件留白,可以实现每个控件之间的间距都是相同,但是 ...

  3. c# 抽象类 抽象函数 接口

    抽象类与抽象方法: 被abstract关键字修饰的类叫做抽象类 被abstract关键字修饰的方法叫做抽象方法 1.抽象方法必须放在抽象类中 2.抽象方法不可以实现代码,用空语句替代 3.抽象方法可以 ...

  4. 大数据的乘法实现——C语言

    1大数据乘法的算法思路: 输入两个字符串,得到结果,例如:123456789*123456789: 思路:1)首先 123456789*1 = 9   18  27  36  45  54  63   ...

  5. ubuntu server cloud img username password

    新安装了OpenStack Queens发现无镜像,蹦蹦跳跳的下载了ubuntu的镜像 网址https://cloud-images.ubuntu.com/ 最好你自己找你想要的,vmdk.ova.i ...

  6. mysql5.7.18.1修改用户密码报错ERROR 1054 (42S22): Unknown column 'password' in 'field list'解决办法

    本意向修改一个用户的密码,网上搜到的命令为如下 mysql> update user set password=password(“新密码”) where user=”用户名”; 执行后报错 E ...

  7. javac编译错误: 编码UTF8/GBK的不可映射字符

    转自:https://blog.csdn.net/leytton/article/details/52740171 Linux下为UTF-8编码,javac编译gbk编码的java文件时,容易出现“错 ...

  8. Linux权限管理之ACL权限

    注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...

  9. ---Intel SSD 750 under Linux

    https://wiki.archlinux.org/index.php/Solid_State_Drives/NVMe

  10. CSS: pseudo-classes and pseudo-elements

    1.Definition: pseudo-classes The pseudo-class concept is introduced to permit selection based on inf ...