python带图片、excel文件附件

python可以实现和web界面同样的发送邮件功能,并可以升级群发:通过循环遍历每个人的邮箱地址,对不同的人发送不同的邮件(由于没有足够多的邮箱地址这里不扩展)

发送邮件的库

  • 1.smtplib是用来连接服务器的库
  • 2.MIMEText、MIMEImage、MIMEMultipart是用来构造邮件文本、图片等附件的库
  • 3.formataddr,、arseaddr、Header是用来构造邮件头部信息的库在这里插入图片描述

邮件准备

  • 1.邮箱服务器域名输入
  • 2.收件人地址、验证密码,发件人地址输入
  • 3.主题输入

在这里插入图片描述

构造邮件

1.构造文本

  • 1.MIMEMultipart(‘related’)是邮件容器可以存放文本信息、图片、excel附件,related声明容器为空
  • 2.MIMEText设置_subtype参数为plain声明写的是文本信息,构造完之后用用MIMEMultipart的attach方法添加进邮件容器
    在这里插入图片描述

2.构造图片附件

  • 1.图片在网络中以二进制传输,所以用open方法以二进制读进程序
  • 2.MIMEImage用来构造图片附件,构造完成后添加到邮件容器中
    在这里插入图片描述

3.构造excel附件

  • 1.excel附件同样用MIMEText来构造,需要设置_subtype参数base64参数来声明发送的是附件
  • 2.并需要用[‘Content-Disposition’] = 'attachment;filename=“linereg.excel”'来给附件起名字,这里起的名字是linereg.xlsx
    在这里插入图片描述

4.构造邮件头部格式

  • 1.自定义如下格式方法
    在这里插入图片描述
  • 2.构造格式方法在这里插入图片描述

5.邮件发送

  • 1.smtplib的SMTP_SSL方法来连接服务器,这里用的是qq邮箱服务器,端口是465
  • 2.用login方法来登录验证(验证的密码是第三方授权码,由于不是在web端直接登录所以需要获取授权码来验证登录服务器)
  • 3.sendmail用来发送邮件,发送的是用容器打包好的message
    在这里插入图片描述

授权码获取

在qq邮箱web端点击设置—》账户----》POP3/SMTP服务打在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值