如何通过python代码发送文件附件

小编通过163邮箱进行发送的邮件,如果是其他邮箱,在邮件服务器的设置步骤中,带上相应邮箱的后缀即可
#发送邮件带附件
#导入相关发送邮件的类库包
from email.header import Header #设置邮件的标题
from email.mime.text import MIMEText #设置邮件正文信息
import smtplib #设置邮箱服务器
from email.mime.multipart import MIMEMultipart #设置附件
#定义一个发送邮件的类
class test_sendemail():
#定义发送邮件的方法
def send_emailfile(self):
#邮件服务器的设置
smtpemail=smtplib.SMTP(“smtp.163.com”)

#登录邮箱 smtpemail.login(“邮箱账号”,“邮箱密码”)# 账号、密码;163邮箱的密码是邮件对客户端的授权码
#以只读的方式打开需要发送的附件 sendfile=open(“需要发送附件的路径及文件名E:\file.csv”,“r”).read()
# 确认附件文件及字符集
msg=MIMEText(sendfile,“utf-8”)#邮件的正文,格式是HTML,编码格式是utf-8
#指定发送类型,用应用程序或字节流的方式打开
msg[‘Content-Type’]=“application/octet-stream”
#附件信息描述,在界面上的显示,定义附件名“测试失败报告.csv”
msg.add_header(‘Content-Disposition’,‘attachment’,filename=Header(“测试失败报告.csv”,“utf-8”).encode())
#定义邮件发送对象
msgroot=MIMEMultipart()
#设置邮件内容
msgroot.attach(MIMEText(“测试失败报告邮件正文”,“html”,“utf-8”))

    # 设置邮件的标题
    msgroot["subject"]=Header("测试bug报告邮件")
    # 指定发送人
    msgroot["from"]="发送人邮箱账号"
    # 指定收件人
    msgroot["to"]="收件人邮箱账号"
    #添加附件对象,才能成功发送附件
    msgroot.attach(msg)
    # 进行邮件发送
    smtpemail.sendmail(msgroot["from"],msgroot["to"],msgroot.as_string())#msg.as_string()是将发送内容进行字符转译
    #关闭邮件服务器
    smtpemail.close()

#主函数,调用发送邮件
if name == ‘main’:
sendemailobj=test_sendemail()
sendemailobj.send_emailfile()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值