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)
二、发送带附件的邮件
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
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Python连载56-发送带有附件、正文为HTML的邮件的更多相关文章
- Android在发送带有附件的邮件
准备好工作了-下载最新的版本号JMail https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release h ...
- Java Mail 发送带有附件的邮件
1.小编用的是163邮箱发送邮件,所以要先登录163邮箱开启POP3/SMTP/IMAP服务方法: 2.下载所需的java-mail 包 https://maven.java.net/content/ ...
- Python模块探秘 Smtplib发送带有各种附件的邮件
这两天对Python的邮件模块比较感兴趣,于是就查了查资料.同时在实际的编码过程中也遇到了各种各样的问题.下面我就来分享一下我与smtplib的故事. 前提条件 我的上一篇博文里面讲解了,发送邮件必须 ...
- spring boot:发送带附件的邮件和html内容的邮件(以163.com邮箱为例/spring boot 2.3.2)
一,网站哪些情况下需要发送电子邮件? 作为一个电商网站,以下情况需要发邮件通知用户: 注册成功的信息 用邮箱接收验证码 找回密码时发链接 发送推广邮件 下单成功后的订单通知 给商户的对账单邮件 说明: ...
- python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
简介 上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件.发送带附件的需要导入另外一个模块 ...
- 带有附件及图片正文的JavaMail邮件发送
1 package javamail; 2 3 import java.io.UnsupportedEncodingException; 4 import java.util.Properties; ...
- 利用Python+163邮箱授权码发送带附件的邮件
背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...
- Python发送带附件的邮件
看别人的博客就不要在往别人的邮箱里发东西了行不行, 有点素质可以吗!!! 写出来分享还不知道珍惜!!!!! #-*-encoding:utf-8 -*- import os import smtpli ...
- 使用MailKit发送带有内嵌图片的邮件且图片不显示成附件
使用MailKit发送带有内嵌图片的邮件且图片不显示成附件 参考文章:MailKit---发送邮件 注意 在邮件客户端中是否显示内嵌图片为附件依据不同邮件有所不同,暂经测试Outlook和qq不显示为 ...
随机推荐
- docker概念
一.docket概述 什么是docker? 为什么docker会出现 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不 ...
- centos 7 MysSQL 5.7.23 源码安装
MySQL 5.7.23 源码安装 CentOS 7 将默认数据库MySQL替换成了Mariadb. 这里会从系统的环境准备开始一步一步安装. 环境准备 系统版本 内核版本 IP地址 Centos 7 ...
- 判断一个坐标点是否在封闭曲线内的方法(swift)
//用playground运行即可 import UIKit var str = "Hello, playground" let lTestPointsOne : [(Double ...
- css4——浮动
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
在网络通信过程中,包含各式各样的网络服务功能.既可以包含传统的像防火墙,NAT等功能,也有包含特定的网络应用功能(Service Function).将特定的网络应用功能有序地组合起来,接着让流量通过 ...
- hibernate的查询方式的介绍(一)
1.对象导航查询 2.OID查询 3.hql(hibernate query language)查询 4.QBC查询 5.本地sql查询 在这里先介绍其中两种 1.hibernate的对象导航查询 ( ...
- 清理Mac
mac在更新系统以及Xcode时总是报磁盘空间不足.于是下定决心来清理一下. 1.首先点击管理,清理下大文件,以及倾倒垃圾篓. 2.下载mac清理工具,清理一些缓存文件. 3.查看下文件中占用最大的文 ...
- Java修炼——键盘输入,字节转换流
键盘控制输入字符,并且有转换流(InputStreamReader)加入,同样也是使用了缓冲. package com.bjsxt.ioproject; import java.io.Buffered ...
- [TimLinux] CPU 常见架构介绍
1. 简介 系统性能依赖硬件架构,CPU架构决定了硬件的布局.常见的CPU架构:SMP, NUMA, MPP. 2. SMP(对称多处理器) SMP:Symmetric Multiprocessing ...
- zabbix4.0.1 安装部署
zabbix安装部署 目录 一.环境准备... 3 1.1.版本:... 3 1.2.部署环境... 3 二.安装部署... 3 2.1.zabbix安装... 3 2.1.1.下载zabbix的rp ...