python实现邮件循环自动发件

发邮件是一种很常见的操作,本篇主要介绍一下如何用python实现自动发件。

import smtplib
from email.mime.text  MIMEText
from email.mime.multipart  MIMEMultipart
from email.header  Header
from email.mime.image  MIMEImage
 time
mail_host="smtp.126.com"
mail_user=xxx@126.com
mail_pass=******#注意如果邮箱开启了授权码,此处要填写授权码,否则会报smtplib.SMTPAuthenticationError: (535,b'Error: authentication failed')
sender=
receiver = ['邮箱1',邮箱2']群发邮件
for i in range(n):自定义循环发多少遍
    try:
        message = MIMEMultipart()
        message[From"] = Header(sender)
        message[To"] = ,'.join(receiver)
        message[Subject"] = Header(主题",1)">utf-8").encode()主题
        message.attach(MIMEText(正文plain"))正文
        """
        定附件
        """
        att = MIMEText(open(rC:\Users\Administrator\Desktop\1.txt').read(),1)">base64)
        att[Content-Typeapplication/octet-stream
            att.add_header(Content-Dispositionattachment1.txt")这一步可避免文件不能正常打开
        message.attach(att)
        
        构造图片(以附件形式上传)
        
        image = MIMEImage(open(rC:\Users\Administrator\Desktop\1.jpgrb).read())
        image.add_header(Content-ID<image1>')可避免图片不能正常打开
        image[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['].split(),message.as_string())
        print(在%s第" % ctime(),str(i+1),1)">封邮件发送)
        smtp.quit()
    except smtplib.SMTPException as e:
          raise e

最终实现

在这里插入图片描述

 

本文首发于python黑洞网,博客园同步更新

相关文章

1. 上下文管理器 一个类只要实现了&#160;__enter__()&am...
实验报告一一、作业:建议用时15分钟二、环境:Pycharm -Pyt...
项目意义 如果你想在支付宝蚂蚁森林收集很多能量种树,为环境...
发邮件是一种很常见的操作,本篇主要介绍一下如何用python实...
我们知道为了提高代码的运行速度,我们需要对书写的python代...
前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~...