python如何发送带有附件、正文为HTML的邮件

作者:心悦君兮君不知-睿 时间:2022-05-22 08:15:15 

一、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)

python如何发送带有附件、正文为HTML的邮件

二、发送带附件的邮件

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)

python如何发送带有附件、正文为HTML的邮件

三、源码

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

来源:https://www.cnblogs.com/ruigege0000/p/12008780.html

标签:python,发送,附件,邮件,html
0
投稿

猜你喜欢

  • MySQL定时任务(EVENT事件)如何配置详解

    2024-01-19 08:04:12
  • Python tornado上传文件的功能

    2022-06-01 19:33:37
  • Python Scapy随心所欲研究TCP协议栈

    2023-06-10 23:12:29
  • 15个滑动门效果CSS导航菜单实例教程

    2010-02-20 13:02:00
  • 文字超长自动省略,以...代替,CSS实现

    2009-07-16 10:15:00
  • Yolov5(v5.0)+pyqt5界面设计图文教程

    2023-01-30 03:30:16
  • 简述Python中的面向对象编程的概念

    2021-11-08 07:53:11
  • golang中字符串MD5生成方式总结

    2024-04-23 09:41:05
  • Python中使用第三方库xlrd来读取Excel示例

    2022-04-22 06:29:41
  • python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析

    2022-07-08 06:45:02
  • CSS的另类拼图___减少HTTP请求

    2009-05-28 19:05:00
  • ASP可显示和隐藏的树型菜单

    2007-10-01 14:40:00
  • SQL Server 2005 输入框不能输入中文问题

    2010-02-04 09:14:00
  • web前端vue之CSS过渡效果示例

    2024-04-10 10:33:20
  • Python semaphore evevt生产者消费者模型原理解析

    2021-11-14 12:52:39
  • 详解Python操作Excel之openpyxl

    2021-10-13 05:13:21
  • Python生成器以及应用实例解析

    2021-07-06 21:45:40
  • Python 删除连续出现的指定字符的实例

    2023-11-21 08:36:15
  • select count()和select count(1)的区别和执行方式讲解

    2024-01-29 03:11:31
  • 数字人组件反写[asp组件开发实例4]

    2009-06-09 13:20:00
  • asp之家 网络编程 m.aspxhome.com