python如何发送带有附件、正文为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)

二、发送带附件的邮件

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)

三、源码

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

以上就是python如何发送带有附件、正文为HTML的邮件的详细内容,更多关于python 发送邮件的资料请关注我们其它相关文章!

(0)

相关推荐

  • python实现定时发送邮件

    本文实例为大家分享了python实现定时发送邮件的具体代码,供大家参考,具体内容如下 一.发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header #引入smtplib.MIMETex和Header mailhost='smtp.qq.com' #把qq邮箱的服务器地址赋值到变量mailhost上,地址应为字符串格式 qqmail = smtplib.SMTP() #实例化一个

  • 详解python定时简单爬取网页新闻存入数据库并发送邮件

    本人小白一枚,简单记录下学校作业项目,代码十分简单,主要是对各个库的理解,希望能给别的初学者一点启发. 一.项目要求 1.程序可以从北京工业大学首页上爬取新闻内容:http://www.bjut.edu.cn 2.程序可以将爬取下来的数据写入本地MySQL数据库中. 3.程序可以将爬取下来的数据发送到邮箱. 4.程序可以定时执行. 二.项目分析 1.爬虫部分利用requests库爬取html文本,再利用bs4中的BeaultifulSoup库来解析html文本,提取需要的内容. 2.使用pymy

  • Python实现邮件发送的详细设置方法(遇到问题)

    设置部分: 首先网页登录QQ邮箱设置一些待会儿会用到的参数: 首先开启POP3/SMTP和IMAP/SMTP服务, 然后生成授权码,然后复制到代码中来(只有smtp.qq.com需要生成授权码,在网易163邮箱中只需要登录密码就可以了) 代码部分: import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def sendMail(msg): #发送邮件的邮

  • python基于exchange函数发送邮件过程详解

    1.Python hasattr() 函数 描述 hasattr() 函数用于判断对象是否包含对应的属性. 语法 hasattr 语法: hasattr(object, name) 参数 object -- 对象. name -- 字符串,属性名. 返回值 如果对象有该属性返回 True,否则返回 False. 实例 以下实例展示了 hasattr 的使用方法: #!/usr/bin/python # -*- coding: UTF-8 -*- class Coordinate: x = 10

  • python 发送邮件的四种方法汇总

    这里针对smtplib做了一系列封装,可以完成以下四种场景: 发送纯文本的邮件 发送html页面的邮件 发送带附件文件的邮件 发送能展示图片的邮件 以上四种场景,已经做好了二次封装,经测试OK,使用时直接传入对应参数即可,直接上代码 import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.application import MIMEApp

  • python发送邮件的实例代码(支持html、图片、附件)

    第一段代码: 复制代码 代码如下: #!/usr/bin/python# -*- coding: utf-8 -*- import emailimport mimetypesfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextfrom email.MIMEImage import MIMEImageimport smtplib def sendEmail(authInfo, fromAdd

  • python实现定时发送邮件到指定邮箱

    本文实例为大家分享了python实现定时发送邮件到指定邮箱的具体代码,供大家参考,具体内容如下 整个链路:传感器采集端采集数据,边缘端上传数据库,从数据库拿到数据. 产品端有个自动出报告的需求,并且希望自动出的报告可以定时通过邮件发到指定邮箱中. 自动发邮件中也有较多坑,本文特此记录自动发邮件中的坑. 使用:Python3.7,win10系统,163邮箱作为发邮件方,QQ邮箱作为收邮件方. **第一步:**申请两个账号分别作为发送和接收的账号,本文用的是一个163邮箱,一个是qq邮箱. 第一个坑

  • python自动化发送邮件实例讲解

    在python中,通过如下两个模块可以实现邮件的自动化操作 smtplib email smtplib模块是对SMTP协议的封装,用于发送邮件:email模块用于构建邮件内容,支持以下3种形式的邮件 纯文本 html 带附件 首先来看下邮件的构建,对于一封邮件,需要指定发件人,收件人,主题,正文等内容,以最简单的纯文本邮件为例,构建方式如下 >>> from email.mime.text import MIMEText >>> from email.header im

  • python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警

       使用Windows的wmic命令,获取可执行文件的运行状况.文件路径.PID,如果可执行文件挂掉,就重启并邮件告警. 因为监控的可执行文件的文件名一样,不好区分,所以我使用文件的绝对路径为标准来判断是否正常运行,代码及详细解释如下: # -*- coding: utf-8 -*- import os import win32api import smtplib from email.mime.text import MIMEText def get_pidWay(file_name): e

  • python如何发送带有附件、正文为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"

  • python实现发送带附件的邮件代码分享

    具体代码如下: from django.template import loader from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header import smtplib import traceback class SendEmail(object):     """     发送html邮件    

  • python smtplib发送带附件邮件小程序

    最近经常需要出一些临时性的报表,于是就用python 的smtplib 和email 两模块写了个小程序,当数据处理完后通过邮箱把报表文件从服务器上发送出来! 程序名称:sendMail_func.py #!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import time import smtplib from email import encoders from email.mime.text import

  • Python实现Smtplib发送带有各种附件的邮件实例

    这两天对Python的邮件模块比较感兴趣,于是就查了查资料.同时在实际的编码过程中也遇到了各种各样的问题.下面我就来分享一下我与smtplib的故事. 前提条件 我的上一篇博文里面讲解了,发送邮件必须的条件.这里同样是适用的.大致就是要开启邮箱的SMPT/POP服务等等. 核心知识点 因为今天主要讲解的是如何发送带有附件的邮件,那么核心肯定是附件了.怎么才能发附件呢? 其实我们换个思路,就不难理解了.因为我们发送邮件,经过了应用层–>> 传输层–>> 网络层–>>数据链

  • python SMTP实现发送带附件电子邮件

    本文实例为大家分享了python SMTP发送带附件电子邮件的具体代码,供大家参考,具体内容如下 可采用email模块发送电子邮件附件.发送一个未知MIME类型的文件附件其基本思路如下: 1. 构造MIMEMultipart对象做为根容器 2. 构造MIMEText对象做为邮件显示内容并附加到根容器 3. 构造MIMEBase对象做为文件附件内容并附加到根容器 a. 读入文件内容并格式化 b. 设置附件头 4. 设置根容器属性 5. 得到格式化后的完整文本 6. 用smtp发送邮件 具体内容参见

  • python selenium实现发送带附件的邮件代码实例

    这篇文章主要介绍了python selenium实现发送带附件的邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 163邮件登录首页 登录成功断言是否有退出按钮 点击退出退出登录 代码如下 from selenium import webdriver import unittest import time class VisitSogouByChrome(unittest.TestCase): def setUp(self): # 启

  • python实现发送QQ邮件(可加附件)

    本文实例为大家分享了python实现发送QQ邮件的具体代码,供大家参考,具体内容如下 东西比较简单,简单讲一下,直接贴代码了,其他邮箱都类似. 1.首先在qq 邮箱里面把stmp服务 打开 2.拉到下面,开启第一个,发送短信验证后会得到一个授权码: 3.代码,要注意的地方我都贴了注释: # coding=utf-8 import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage

  • Python实现发送QQ邮件的封装

    本文实例为大家分享了Python实现发送QQ邮件的封装代码,供大家参考,具体内容如下 封装code import smtplib from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header # type=plain 文本格式 默认 # type=ht

  • Python3使用SMTP发送带附件邮件

    一.设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:[一]https://www.jb51.net/article/142220.htm 二.使用Python3 发送带附件的邮件 0.使用的环境为: Python 3.6.3 (64bit) PyCharm 2017.3 (64bit) 1.注意事项: 在调用smtplib,发送简单邮件的时候使用smtplib.SMTP()方法使没有问题的. 但是如果是邮件存在附件的情况下,还使用smtplib.SMTP()方法,就可能会发送

  • 利用Python发送邮件或发带附件的邮件

    本文使用的是163邮件进行测试. 注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试.  1.使用Python发Text 邮件 import smtplib # 发送字符串的邮件 from email.mime.text import MIMEText # 设置服务器所需信息 fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址 password = 'email password' # 密码(部分邮箱为授权码) toEmailAddrs = ['

随机推荐