Python连载56-发送带有附件、正文为HTML的邮件

一、HTML格式怎么发送右键
1.准备HTML代码作为内容
2.把邮件的subtype设置为html
3.发送
4.举个例子:自己发给自己一个HTML格式的文件

from email.mime.text import MIMEText

main_content = """
        <!DOCTYPE html>
        <html lang = "en"
        <head>
            <meta charset = "UTF-8">
            <title>实例</title>
        </head>
        <body>
            <h1>这个是做测试用的html<h1>
        </body>
        </html>
        """

msg = MIMEText(main_content,"html","utf-8")

#构建发送者地址和登录信息
from_addr = "1215217867@qq.com"
from_pwd = ""
#构建邮件接受者的信息
to_addr = "1215217867@qq.com"
smtp_srv = "smtp.qq.com"
try:
    import smtplib
    srv = smtplib.SMTP_SSL(smtp_srv.encode(),465)
    srv.login(from_addr,from_pwd)
    srv.sendmail(from_addr,[to_addr],msg.as_string())
    srv.quit()

except Exception as a:
    print(a)

56.1
二、发送带附件的邮件
1.可以把邮件看作是一个文本邮件和一个附件的合体
2.一封邮件如果涉及多个部分,需要使用MIMEMultipart格式构建
3.添加一个MIMEText正文
4.添加一个 MIMEBase或者MEMEText作为附件
5.举个例子:

from email.mime.text import MIMEText#构建附件使用
from email.mime.multipart import MIMEBase,MIMEMultipart#构建基础邮件使用

mail_mul = MIMEMultipart()#构建一个邮件对象
mail_text = MIMEText("Hello,I am liudana","plain","utf-8")#构建邮件正文
mail_mul.attach(mail_text)#把构建好的邮件正文附加到邮件中
#构建附件,需要从本地读入附件
#打开一个本地文件
#以rb格式打开
with open("00.TestCasePython.py","rb") as  f:
    s = f.read()
    #设置附件的MIME和文件名
    m = MIMEText(s,"base64","utf-8")#类型是base64,这是邮件正文的格式,这里只需要记住就可以了
    m["Content-Type"] = "application/octet-stream"
    #需要注意
    #1.attachment后分号位英文状态
    #2.filename后面需要引号包裹,注意与外面引号错开
    m["Content-Disposition"] = "attachment;filename = '00.TestCasePython.py'"
    #添加到MIMEMultipart
    mail_mul.attach(m)

#构建发送者地址和登录信息
from_addr = "1215217867@qq.com"
from_pwd = "ysqmojzwkgfciccd"
#构建邮件接受者的信息
to_addr = "1215217867@qq.com"
smtp_srv = "smtp.qq.com"
try:
    import smtplib
    srv = smtplib.SMTP_SSL(smtp_srv.encode(),465)
    srv.login(from_addr,from_pwd)
    srv.sendmail(from_addr,[to_addr],mail_mul.as_string())
    srv.quit()

except Exception as a:
    print(a)

56.2
五、源码
D55_2_HTMLMailSend.py
D55_3_SendAttachmentMail.py
https://github.com/ruigege66/Python_learning/blob/master/D55_2_HTMLMailSend.py
https://github.com/ruigege66/Python_learning/blob/master/D55_3_SendAttachmentMail.py
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
56.3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值