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 ...
随机推荐
- Codestorm:Game with a Boomerang
题目连接:https://www.hackerrank.com/contests/codestorm/challenges/game-with-a-boomerang 上一篇博客不知怎么复制过来题目, ...
- iplimage 转HBITMAP
HBITMAP IplImage2hBitmap(IplImage* pImg) { cvFlip(pImg, NULL); BYTE tmp[]; BITMAPINFO *bmi = (BITMAP ...
- QT5安装
Windows+Qt5.3.1+VS2013安装教程 https://blog.csdn.net/two_ye/article/details/96109876 (已成功)windows下,VS201 ...
- 第3节 sqoop:2、sqoop的基本简介和安装
3. sqoop数据迁移 3.1.概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HI ...
- 第1课 VMware的NSX全面落地软件定义网络SDN
SDN的定义: 即软件定义网络(Software Defined Network)的缩写,它是一种基于网络架构的创新,一种在已存在物理传输网络之上的抽象形态,它是一种体系结构,它是众多网络虚拟化技术中 ...
- springboot启动报错:Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.zxkj.lockserver.dao.CompanyDao' available: expected at least 1 bean which qua
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of ty ...
- 045、Java中使用if语句进行判断
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 005.Delphi插件之QPlugins,IQNotify通知
演示的界面如下,拖动滚动条,百分比圆和进度条也是会跟着动的 主程序的代码如下 unit Frm_Main; interface uses Winapi.Windows, Winapi.Messages ...
- 吴裕雄--天生自然java开发常用类库学习笔记:多线程基础编程
class MyThread implements Runnable{ // 实现Runnable接口,作为线程的实现类 private String name ; // 表示线程的名称 public ...
- 读取docx表格中的信息
参考了 http://blog.csdn.net/qq_34475777/article/details/62055523 http://www.cnblogs.com/deepwaterplan/a ...