python实现邮件循环自动发件功能
作者:liyali2020 发布时间:2021-01-20 02:39:24
标签:python,发邮件,自动发件
发邮件是一种很常见的操作,本篇主要介绍一下如何用python实现自动发件。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.image import MIMEImage
import time
mail_host="smtp.126.com"
mail_user="xxx@126.com"
mail_pass="******"#注意如果邮箱开启了授权码,此处要填写授权码,否则会报smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')
sender="xxx@126.com"
receiver = ['邮箱1','邮箱2']#群发邮件
for i in range(n):#自定义循环发多少遍
try:
message = MIMEMultipart()
message["From"] = Header(sender)
message["To"] = ','.join(receiver)
message["Subject"] = Header("主题", "utf-8").encode()#主题
message.attach(MIMEText("正文", "plain", "utf-8"))#正文
"""
定附件
"""
att = MIMEText(open(r'C:\Users\Administrator\Desktop\1.txt').read(), "base64", "utf-8")
att["Content-Type"] = 'application/octet-stream'
att.add_header("Content-Disposition", 'attachment', filename="1.txt")#这一步可避免文件不能正常打开
message.attach(att)
"""
构造图片(以附件形式上传)
"""
image = MIMEImage(open(r'C:\Users\Administrator\Desktop\1.jpg', 'rb').read())
image.add_header('Content-ID', '<image1>')#可避免图片不能正常打开
image["Content-Disposition"] = 'attachment; filename="picture.jpg"'
message.attach(image)
"""
发送邮件
"""
smtp = smtplib.SMTP_SSL(host=mail_host)
smtp.connect(host=mail_host, port=465)
smtp.login(mail_user, mail_pass)
smtp.sendmail(sender, message['To'].split(','), message.as_string())
print("在%s第" % ctime(), str(i+1), "封邮件发送")
smtp.quit()
except smtplib.SMTPException as e:
raise e
最终实现
来源:https://blog.csdn.net/liyali2020/article/details/108463287


猜你喜欢
- 在纯静态网站里,有时候会动态更新某个区域往会选择 Pjax(swup、barba.js)去处理,他们都是使用 ajax 和 pushStat
- 元素的CSS样式,除了包括内联的(即通过style属性加上的)样式定义外,还有页面嵌入的css和外部引入的css两种方式。但在JS中通过el
- 这篇文章主要介绍了Python检查 云备份进程是否正常运行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 一、什么是七段数码显示器 七段LCD数码显示器
- 为了防止某些别有用心的人从外部访问数据库,盗取数据库中的用户姓名、密码、信用卡号等其他重要信息,在我们创建数据库驱动的解决方案时,我们首先需
- 基础知识介绍以SQL Server的数据库管理工具SSMS(SQL Server Management Studio)为平台进行操作。SQL
- 一、数组的创建方式一var a = new Array(); a[0]="wo"
- 1、层次索引1.1 定义在某一个方向拥有多个(两个及两个以上)索引级别,就叫做层次索引。通过层次化索引,pandas能够以较低维度形式处理高
- 继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有1.学生信息的录入管理;2.学生选课操作;3.
- 列表降维(python:3.x)之前遇到需要使用列表降维的情况,如:原列表 : [[12,34],[57,86,1],[43,22,7],[
- 一、引入必要文件下载地址:(https://github.com/nghuuphuoc/bootstrapvalidator/archive
- SQL SERVER将某一列字段中的某个值替换为其他的值update 表名 set 列名 = REPLACE( 列名 ,'aa
- 接下来,请按照以下步骤操作:完成上述步骤后,您应该能够使用 sa 用户及其密码在程序中连接到 SQL Server Express Loca
- JetBrainsMono 是 JetBrains 公司开发的一款开源字体,可免费商用。正如其名字带的Mono,即Monospaced Fo
- 1.关系模型序列化1.1 什么是序列化?什么是反序列化?序列化的意思是把字典的形式转化成Json格式。当我们展示数据的时候需要使用。反序列化
- 首先我们知道这个效果应该是一个老话题了。今天整理文件的时候,发现自己以前的一些布局的解决方法躺在文件夹里很长时间了,翻翻老底吧。需要说明的是
- mysqladmin是MySQL官方提供的shell命令行工具,它的参数都需要在shell
- 引文之前将PHP反序列化的基础知识讲了一遍,不知道大家学习的怎么样了,今天给大家带来PHP反序列化的进阶知识:PHAR反序列化,也是之前本人
- 在最近工作中,有一个需求,需要做一个表格,并且对该表格右键弹出菜单支持增删改,这里做下总结,功能截图如下:首先定义菜单结构<!-- 菜
- 阅读上一篇:网马解密大讲堂——网马解密初级篇今天主要讲解的内容是Freshow工具的使用方法,工欲善其事,必先利其器,首先要学会如何使用解密