Python Email发送,通知业务完成
Email 发送
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import base64
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr def crypt(source, key):
from itertools import cycle
result=''
temp=cycle(key)
for ch in source:
result=result+chr(ord(ch)^ord(next(temp)))
return result sender = 'xxx@aliyun.com'
receivers = ['xxx@dingtalk.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 # 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
msg = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')
# msg['From'] = Header("S", 'utf-8') # 发送者
# msg['To'] = Header("测试", 'utf-8') # 接收者
msg['From'] = formataddr(["data_deal", sender]) # 发送者
msg['To'] = formataddr(["recv", receivers[0]]) # 接收者 subject = 'Python SMTP 邮件测试' def sendMail(subject, key):
error_msg = None
try:
msg['Subject'] = Header(subject, 'utf-8')
# clint = smtplib.SMTP()
# EMAIL_HOST, EMAIL_PORT = "smtpdm.aliyun.com", 465
# clint.connect(EMAIL_HOST, EMAIL_PORT)
EMAIL_HOST, EMAIL_PORT = "smtp.aliyun.com", 465
clint = smtplib.SMTP_SSL(EMAIL_HOST, EMAIL_PORT)
clint.login(sender, crypt('xxx', key))
clint.sendmail(sender, receivers, msg.as_string())
clint.quit()
print("邮件发送成功")
except smtplib.SMTPConnectError as e:
error_msg= '邮件发送失败,连接失败'
except smtplib.SMTPAuthenticationError as e:
error_msg = '邮件发送失败,认证错误:'
except smtplib.SMTPSenderRefused as e:
error_msg = '邮件发送失败,发件人被拒绝:'
except smtplib.SMTPRecipientsRefused as e:
error_msg = '邮件发送失败,收件人被拒绝:'
except smtplib.SMTPDataError as e:
error_msg = '邮件发送失败,数据接收拒绝:'
except smtplib.SMTPException as e:
error_msg = '邮件发送失败, {}'.format(str(e))
except Exception as e:
error_msg = '邮件发送异常, {}'.format(str(e))
if error_msg != None:
print("Error: 无法发送邮件")
print(error_msg) # sendMail('ttttt', '123')
Python Email发送,通知业务完成的更多相关文章
- python email ==> send 发送邮件 :) [smtplib, email 模块]
关于Email的预备知识: 原贴地址:http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343480.html ############ ...
- centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) ##################### sendmail.py begin ######## ...
- python selenium2示例 - email发送
前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的 ...
- 配置 SQL Server Email 发送以及 Job 的 Notification通知功能
配置 SQL Server Email 发送以及 Job 的 Notification通知功能 在与数据库相关的项目中, 比如像数据库维护, 性能警报, 程序出错警报或通知都会使用到在 SQL Ser ...
- 教你如何用Python向手机发送通知
------------恢复内容开始------------ 你曾想尝试在服务器端或电脑上向手机发送通知吗? 你曾烦恼过企业邮箱的防骚扰机制吗? 现在,我们可以用一种简单轻松的方法来代替企业邮箱了! ...
- Django使用Signals监测model字段变化发送通知
上一篇文章<运维效率之数据迁移自动化>中讲到了工单通知,本文将介绍工单通知实现过程中的一些小技巧.所有演示均基于Django2.0 阅读此篇文章你可以: 解锁一个python if的使用新 ...
- 【原创】Talend ETL开发——基于joblet的统一的email发送
更新 2019/1/16:增加了允许5个附件发送.smtp等配置的字段. 一.背景 在ETL数据整合过程中,肯定会涉及到email的通知,比如ETL的执行情况汇报,执行耗时汇报,关键数据更新情况等信息 ...
- Elastic:使用ElastAlert发送通知
ElastAlert是一个简单的框架,用于从Elasticsearch中的数据中发出异常,尖峰或其他感兴趣模式的警报.我们可以在地址https://elastalert.readthedocs.io/ ...
- NodeJs之邮件(email)发送
NodeJs之邮件(email)发送 一,介绍与需求 1.1,介绍 1,Nodemailer简介 Nodemailer是一个简单易用的Node.js邮件发送插件 github地址 Nodemailer ...
随机推荐
- python2.7 操作ceph-cluster S3对象接口 实现: 上传 下载 查询 删除 顺便使用Docker装个owncloud 实现UI管理
python version: python2.7 需要安装得轮子: botofilechunkio command: yum install python-pip&& pip ...
- vs2010编译C++ 状态标志
// CTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include &l ...
- imput placeholder 移动端不居中问题
input{ height: 100%; } input::-webkit-input-placeholder { display: flex; align-items: center; line-h ...
- 看完本文,Essay写作再也不需要凑字数
很多同学都说过自己写论文的时候出现“词穷”的情况,无奈只能靠“胡编乱造”来凑字数写出开头段,这其实是大家的阅读量没有达到要求.但不能因为出现这种情况就对自己的论文不负责任,否则你的论文分数可能就不会对 ...
- NOR Flash驱动
驱动程序 1 ] ] );81 ;83 }84 85 86 static void __exit nor_exit(void)87 {88 iounmap(nor_ ...
- MongoDB_01
解释:MongoDB可应对 --三高需求 High performance-对数据库高并发读写的需求 Huge Storage -对海量数据的高效率存储和访问的需求 High Scalability ...
- CodeForces - 862B Mahmoud and Ehab and the bipartiteness(二分图染色)
题意:给定一个n个点的树,该树同时也是一个二分图,问最多能添加多少条边,使添加后的图也是一个二分图. 分析: 1.通过二分图染色,将树中所有节点分成两个集合,大小分别为cnt1和cnt2. 2.两个集 ...
- POJ 3077 : Rounders
Rounders Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7827 Accepted: 5062 Description ...
- ubuntu下pip的安装、升级和使用
系统虽然自带了不同版本的python,但都没有安装pip,pyhton2.7下使用的是pip2,python3.5下使用的是pip3.下面是各自安装命令. 安装 pip2: sudo apt-get ...
- C#获取屏幕的宽度和高度
//1.在屏幕的右下角显示窗体 //这个区域不包括任务栏的 Rectangle ScreenArea = System.Windows.Forms.Screen.GetWorkingArea(this ...