Python自动发送邮件--smtplib模块
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.image import MIMEImage account='9xxxx65@qq.com' #发件人
pwd = '*******' #第三方授权码,需登录qq mail web页,开通设置。
to = ['xxxxx@qq.com','xxxx@qq.com','xxxx@qq.com'] # 发送给多个收件人
host='smtp.qq.com' #主机
atta_path = r'C:\Users\Administrator\Desktop\testdata.txt' #附件路径与名称
name='要展示的文件名.txt' #附件显示的名称
img_path = r'C:\Users\Administrator\Desktop\dog.jpg' #显示在正文中的图片 # 这是正文显示部分,其中img标签中的src的cid:0,这个0与下文的content-ID对应。 content='''
<html><body><h3>
Project:</h3> <p>mobile test</p>
<h3>Tester:</h3> <p>fish</p>
<h3>Date:</h3> <p>2019/12/12</p>
<h3>Result:</h3> <p>Pass</p>
<p>For morn details,you can check <a href= 'https://www.baidu.com'>Test Result</a></p>
<img src='cid:0' alt = 'picture'>
</body></html>
'''
def sendmail(): ret = True
try:
msg = MIMEMultipart()
msg['Subject'] = 'Test'
msg['From'] = account
msg['To'] = ';'.join(to) #将图片显示在邮件正文中
fp=open(img_path,'rb')
img= MIMEImage(fp.read())
img.add_header('Content-ID', '')
msg.attach(img) #邮件中显示正文
part_text = MIMEText(content,'html','UTF-8')
msg.attach(part_text) #这是附件部分,不同类型的附件,只需修改名称、位置、要显示的名字
part_att = MIMEApplication(open(atta_path,'rb').read())
part_att.add_header('Content-Disposition', 'attachment', filename=name)
msg.attach(part_att) #实例化一个SMTP的对象,然后登录、发送邮件
s = smtplib.SMTP(host,timeout= 30)
s.login(account,pwd)
s.sendmail(account,to,msg.as_string())
s.close()
except Exception as e:
ret = False
resaon = str(e)
return ret ret = sendmail() if ret:
print('send successfully')
else:
print('Error: send failed: ',reason)
如上的代码,可实现一个简单的邮件自动发送,且不会显示在垃圾箱中。
Python自动发送邮件--smtplib模块的更多相关文章
- Python自动发送邮件-smtplib和email库
''' 一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三. ...
- 用Python自动发送邮件
用Python自动发送邮件 最近需要在服务器上处理一些耗时比较长的任务,因此想到利用python写一个自动发送邮件的脚本,在任务执行完毕后发送邮件通知我.以下代码以163邮箱为例: 开通163 ...
- 利用python自动生成verilog模块例化模板
一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...
- python:利用smtplib模块发送邮件
自动化测试中,测试报告一般都需要发送给相关的人员,比较有效的一个方法是每次执行完测试用例后,将测试报告(HTML.截图.附件)通过邮件方式发送. 参考代码:send_mail.py 一.python对 ...
- python:利用smtplib模块发送邮件详解
自动化测试中,测试报告一般都需要发送给相关的人员,比较有效的一个方法是每次执行完测试用例后,将测试报告(HTML.截图.附件)通过邮件方式发送. 首先我们要做: 进入163邮箱,点击设置中的pop3/ ...
- python之使用smtplib模块发送邮件
# 使用smtplib模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Heade ...
- python☞自动发送邮件
一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...
- Python 自动发送邮件
简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件.Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器 ...
- Appium+python 自动发送邮件(1)(转)
(原文:https://www.cnblogs.com/fancy0158/p/10056091.html) SMTP:简单传输协议,实在Internet上传输Email的事实标准. Python的s ...
随机推荐
- python基础知识第二篇(字符串)
基本数据类型 数字 整形 int ---int 将字符串 ...
- d3.js 入门指南 - 仪表盘
D3的全称是Data-Driven Documents(数据驱动的文档),是一个用来做数据可视化的JavaScript函数库,而JavaScript文件的后缀通常为.js,所以D3被称为D3.js. ...
- Android 插件化开发(三):资源插件化
在前面的文章中我们成功的加载了外部的Dex(Apk)并执行了插件的Bean代码.这时我们会想,能不能加载并运行插件Apk的Activity.答案当然是能,否则后续我们的研究就没意义了,但是想实现Act ...
- SQL SERVER查询数据库所有表的大小,按照记录数降序排列
SELECT B.NAME,A.ROW_COUNT FROM SYS.DM_DB_PARTITION_STATS A,SYS.OBJECTS BWHERE A.OBJECT_ID=B.OBJECT_I ...
- python基础之元组讲解
概念讲解: 1.Python 的元组与列表十分相似,但是元组的元素只可读不可修改: 2.元组使用小括号,列表使用方括号: 3.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. (1)创建一 ...
- CodeForces - 158C(模拟)
题意 https://vjudge.net/problem/CodeForces-158C 你需要实现类似 Unix / Linux 下的 cd 和 pwd 命令. 一开始,用户处于根目录 / 下. ...
- .NET 收徒,带你走向架构师。
最近感悟天命,偶有所得,故而打算收徒若干,以继吾之传承. 有缘者,可破瓶颈,走向架构师之峰,指日可待. 入门基本要求: 1.工作经验:1年或以上. 2.入门费用:10000元(RMB). 联系方式(联 ...
- library: Vulnhub Walkthrough
网络主机探测: 端口主机扫描: ╰─ nmap -p1-65535 -sV -A -O -sT 10.10.202.136 21/tcp open ftp vsftpd 3.0.380/tcp ope ...
- 地图 SDK 系列教程-在地图上展示指定区域(转载)
腾讯位置服务地图SDK是一套提供多种地理位置服务的应用程序接口.通过调用该接口,开发者可以在自己的应用中加入地图相关的功能(如地图展示.标注.绘制图形等),轻松访问腾讯地图服务和数据,构建功能丰富.交 ...
- Linux平台达梦数据库V7单实例安装方式之图形方式
一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...