四十三.python 封装邮件发送附件(文本)内容

本文介绍了一个使用Python编写的自动化邮件发送脚本Send_email.py,该脚本通过smtplib库连接SMTP服务器,并利用email库构建包含HTML格式的邮件正文及附件的多功能邮件。文章详细展示了如何设置发件人、收件人、邮件服务器等配置信息,以及如何构建邮件内容并发送。

取名 Send_email.py  代码如下:

#coding:utf-8
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import os
def send_email():
       smtpserver = "smtp.163.com"             #发送服务器
       port = 0                                #端口
       sender = "13****82@163.com"          #寄件人账号
       psw = "c****x6"                        #授权码密码(在邮箱设置里面设置)
       receiver = ['17***6*8@qq.com','1****00@qq.com']         #接受者
       subject= "主题:这是一个自动化测试报告"

       #创建一个带附件的实例
       msg = MIMEMultipart()
       msg['From'] = sender
       msg['To'] =';'.join(receiver) #多人接受时写法
       msg['Subject'] =subject

       #构造附件:
       #先读附件
       test_report = os.path.join(os.path.dirname(os.path.realpath(__file__)),"result.html")
       with open(test_report, "rb") as fp:
           mail_body = fp.read()
       # 邮件正文内容:
       # msg.attach(MIMEText("这是一个带附件的邮件", 'plain', 'utf-8')) #正文是以文字存在时
       msg.attach(MIMEText(mail_body, 'html', 'utf-8')) #正文以html存在时
       #以下是写附件的格式:
       att = MIMEText(mail_body,"base64",'utf-8')
       att["Content-Type"] = 'application/octet-stream'
       att["Content-Disposition"]='attachment;filename="report_test.html"' #filename是重名附件名字
       msg.attach(att)

       #同事兼容163和QQ邮箱的登录方法
       try:
              smtp=smtplib.SMTP()
              smtp.connect(smtpserver)
              smtp.login(sender,psw)              #登录
       except:
              smtp = smtplib.SMTP_SSL(smtpserver,port)
              smtp.login(sender,psw)
       #smtp.login(sender,psw)              #登录
       smtp.sendmail(sender,receiver,msg.as_string()) #发送 as_string 作为字符串类型发送msg['to'].split(",")
       smtp.quit()
if __name__=="__main__":
       send_email()

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值