文章目录

  • 1、word处理及邮件发送思维导图
  • 2、邮件发送补充说明(给单人发送邮件)
    • (1)文本邮件发送
      • (1)思路
      • (2)代码实现
      • (3)结果
    • (2) html邮件发送
    • (3)附件邮件发送(以图片附件为例)
    • (4)添加抄送
    • (5)封装邮件发送

1、word处理及邮件发送思维导图

2、邮件发送补充说明(给单人发送邮件)

(1)文本邮件发送

(1)思路
                    导入模块——配置邮箱——设置邮件主题、内容等——发送邮件
(2)代码实现
#导入需要的模块#构建邮件头信息
from email.mime.multipart import MIMEMultipart
#构建邮件正文
from email.mime.text import MIMEText
#发送邮件
import smtplib#配置邮箱#设置发送邮箱地址
from_addr = 'xxxx@qq.com'
#设置邮箱授权码
password = 'xxxxxxx'
#设置收件邮箱地址
to_addr = '1351301736@qq.com'
#设置邮箱服务器地址(以QQ邮箱为例)
smtp_server = 'smtp.qq.com'
#SMTP协议加密端口
server = smtplib.SMTP_SSL(smtp_server,465)
#登录服务器邮箱
server.login(from_addr,password)#设置邮件内容#创建一个邮件信息对象
message = MIMEMultipart()
#设置发送邮箱地址为from
message['From'] = from_addr
#设置收件邮箱地址为To
message['To'] = to_addr
#设置邮件标题
message['Subject'] = '测试邮件'
#设置编码格式等
content_text = MIMEText('啥也不是,啥时候能毕业找到工作',"plain","utf-8")
message.attach(content_text)
#发送邮件,这里设置如果邮件发送失败的异常
try:#发送邮件server.sendmail(from_addr,[to_addr],message.as_string())#退出服务器邮箱server.quit()print('邮件发送成功')
except smtplib.SMTPException as e:server.quit()print('邮件发送失败',e)
(3)结果


(2) html邮件发送

思路差不多,做一些细节改变就可
代码块:

#导入需要的模块#构建邮件头信息
from email.mime.multipart import MIMEMultipart
#构建邮件正文
from email.mime.text import MIMEText
#发送邮件
import smtplib#配置邮箱#设置发送邮箱地址
from_addr = 'xxx@qq.com'
#设置邮箱授权码
password = 'xxxxx'
#设置收件邮箱地址
to_addr = '1351301736@qq.com'
#设置邮箱服务器地址(以QQ邮箱为例)
smtp_server = 'smtp.qq.com'
#SMTP协议加密端口
server = smtplib.SMTP_SSL(smtp_server,465)
#登录服务器邮箱
server.login(from_addr,password)#设置邮件内容#创建一个邮件信息对象
message = MIMEMultipart()
#设置发送邮箱地址为from
message['From'] = from_addr
#设置收件邮箱地址为To
message['To'] = to_addr
#设置邮件标题
message['Subject'] = '测试邮件'
#打开读取html文件,读取为正文
with open('D:/tools/java/jdk1.8.0_271/README.html','rb') as f:content = f.read()
#设置编码格式等content_html = MIMEText(content,"html","utf-8")
message.attach(content_html)#发送邮件,这里设置如果邮件发送失败的异常
try:#发送邮件server.sendmail(from_addr,[to_addr],message.as_string())#退出服务器邮箱server.quit()print('邮件发送成功')
except smtplib.SMTPException as e:server.quit()print('邮件发送失败',e)

(3)附件邮件发送(以图片附件为例)

#导入需要的模块#构建邮件头信息
from email.mime.multipart import MIMEMultipart
#专门构建邮件标题
from email.header import Header
#构建邮件正文
from email.mime.text import MIMEText
#构建邮件附件
from email.mime.application import MIMEApplication
#发送邮件
import smtplib
#构建邮件图片
from email.mime.image import MIMEImage
import os#配置邮箱#设置发送邮箱地址
from_addr = 'xxxx@qq.com'
#设置邮箱授权码
password = 'xxxx'
#设置收件邮箱地址
to_addr = 'xxxx@qq.com'
#设置邮箱服务器地址(以QQ邮箱为例)
smtp_server = 'smtp.qq.com'
#SMTP协议加密端口
server = smtplib.SMTP_SSL(smtp_server,465)
#登录服务器邮箱
server.login(from_addr,password)#设置邮件内容#创建一个邮件信息对象
message = MIMEMultipart()
#设置发送邮箱地址为from
message['From'] = from_addr
#设置收件邮箱地址为To
message['To'] = to_addr
#设置邮件标题
message['Subject'] = '测试邮件'
#打开读取html文件
with open('D:/360Downloads/girl.jpg','rb') as f:img = f.read()image = MIMEImage(img)
#设置编码格式等content_html = MIMEText(content,"html","utf-8")
image.add_header('Content-Disposition','attachment',filename = ('utf-8','',os.path.basename('D:/360Downloads/girl.jpg')))
message.attach(image)#发送邮件,这里设置如果邮件发送失败的异常
try:#发送邮件server.sendmail(from_addr,[to_addr],message.as_string())#退出服务器邮箱server.quit()print('邮件发送成功')
except smtplib.SMTPException as e:server.quit()print('邮件发送失败',e)

(4)添加抄送

message['Cc'] = 'xxxx@qq.com'

(5)封装邮件发送

其实并不难,最开始建立一个类,使用__init__,对输入的一些最基础的信息可以进行初始化,然后建立自己需要的方法,也就是发送文本邮件的操作,发送html邮件的操作,发送附件邮件的操作,最后再写一个发送邮件的操作,里面要包含异常处理,在前面的第二个方法里面的最后一句调用这个发送的操作的方法,然后实例化就行了。
接下来是我自己的代码模块,为了方便看有没有问题,我是三个都分别调用的,如果需要给多人发送邮件,修改修改啦

#导入需要的模块
from email.mime.multipart import MIMEMultipart
#专门构建邮件标题
from email.header import Header
#构建邮件正文
from email.mime.text import MIMEText
#构建邮件附件
from email.mime.application import MIMEApplication
#发送邮件
import smtplib
#构建邮件图片
from email.mime.image import MIMEImage
import osclass Mail_Send(object):def __init__(self,host,port,from_addr,password,to_addr):#服务地址self.host = host#端口号self.port = port#发件人邮箱self.from_addr = from_addr#授权码self.password = password#收件人地址self.to_addr = to_addr#发送文本邮件的方法def Mail_Send_Text(self,subject,contentPath):#创建一个邮件信息对象message = MIMEMultipart()#设置发送邮箱地址为frommessage['From'] = self.from_addr#设置收件邮箱地址为Tomessage['To'] = self.to_addr#设置邮件标题message['Subject'] = subject#打开读取文件
#         import pdb; pdb.set_trace()  第一遍正文出了问题,断点调试用的代码with open(contentPath,'rb') as f:content = f.read()content_text = MIMEText(content,'plain','utf-8')message.attach(content_text)self.sendMail(message)def Mail_Send_html(self,subject,contentPath):message = MIMEMultipart()message['From'] = self.from_addrmessage['To'] = self.to_addrmessage['Subject'] = subjectwith open(contentPath,'rb') as f:content = f.read()content_text = MIMEText(content,'html','utf-8')message.attach(content_text)self.sendMail(message)def Mail_Send_add(self,subject,contentPath):message = MIMEMultipart()message['From'] = self.from_addrmessage['To'] = self.to_addrmessage['Subject'] = subjectwith open(contentPath,'rb') as f:img = f.read()image = MIMEImage(img)image.add_header('Content-Disposition','attachment',filename = ('utf-8','',os.path.basename('D:/360Downloads/girl.jpg')))message.attach(image)self.sendMail(message)def sendMail(self,message):#发送邮件,这里设置如果邮件发送失败的异常try:#SMTP协议加密端口server = smtplib.SMTP_SSL(self.host,self.port)#登录服务器邮箱server.login(self.from_addr,self.password)#发送邮件server.sendmail(self.from_addr,[self.to_addr],message.as_string())#退出服务器邮箱server.quit()print('邮件发送成功')except smtplib.SMTPException as e:server.quit()print('邮件发送失败',e)email = Mail_Send('smtp.qq.com',465,'xxx@qq.com','xxx','xxx@qq.com')
email.Mail_Send_Text('测试邮件','D:/tools/python/python39/LICENSE.txt')
email.Mail_Send_html('html测试邮件','D:/tools/game/steam/ThirdPartyLegalNotices.html')
email.Mail_Send_add('测试','D:/360Downloads/girl.jpg')

数据分析学习笔记—python_word处理及邮件发送相关推荐

  1. 数据分析学习笔记——数据可视化

    数据分析学习笔记系列--数据可视化 总第45篇 ▼ 写在前面: 本篇来源于书籍<数据之美-一本书学会可视化设计>的学习后整理所得.全篇主要围绕数据可视化的5个步骤展开,其中重点内容是第三步 ...

  2. Python数据分析学习笔记:使用SciKit-Learn进行数据规范化

    Python数据分析学习笔记:使用SciKit-Learn进行数据规范化 数据规范化是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果 ...

  3. Python数据分析学习笔记:计算向量夹角

    Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...

  4. Python数据分析学习笔记:计算相关系数

    Python数据分析学习笔记:计算相关系数 1.相关系数概念 相关系数,或称线性相关系数.皮氏积矩相关系数(Pearson product-moment correlation coefficient ...

  5. Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

  6. python客户画像_Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

  7. 数据分析学习笔记-数据分析预备知识

    数据分析学习笔记 数据分析预备知识

  8. 数据分析学习笔记(二)数据分析三思维七技巧

    数据分析学习笔记(二) What 三种核心思维 结构化 公式化 业务化 Why 数据分析的思维技巧 象限法 多维法 假设法 指数法 二八法 对比法 漏斗法 总结 How 如何在业余时间锻炼分析能力 好 ...

  9. 大数据分析学习笔记(Z检验,分类器以及Association Rule)

    大数据分析学习笔记(Z检验,分类器以及Association Rule) Task 1 – Hypothesis Testing To improve student learning perform ...

最新文章

  1. docker 创建启用systemd服务的容器
  2. 运行pyspider时出现 : ImportError: cannot import name ‘ContextVar‘
  3. 「Docker」Docker教程+学习笔记
  4. 我的处女作《设计模式之禅》——前言
  5. java类作用域标识符_java入门 (二) 标识符、数据类型、类型转换、变量、常量、作用域...
  6. 批处理的高吞吐率和高延迟的解释
  7. 笨办法学 Python · 续 练习 49:`sed`
  8. Django:ORM基本操作-CRUD,管理器对象objects,----->新增
  9. 为了运行内存多两G,多花几百块值不值?
  10. Oracle数据库 查询所有表
  11. JAVA疯狂讲义 第四版 课后习题 第四章 4.5
  12. python实现sql盲注
  13. matlab2017a安装出现license checkout failed Error-8
  14. ESXI 6.5安装详细步骤
  15. 量化私募FOF为何“脱颖而出”?
  16. Android实现即时聊天
  17. 如何选择一台适合个人使用的云服务器?
  18. android开发中为MultiAutoCompleteTextView控件添加其他分隔符
  19. 0422-团队项目开发
  20. 中学生作文指导杂志中学生作文指导杂志社中学生作文指导编辑部2022年第22期目录

热门文章

  1. ssis修改数据库数据_SSIS平衡数据分配器概述
  2. sql dbcc_SQL Server中的DBCC命令的概念和基础
  3. sql server 加密_列级SQL Server加密概述
  4. Scrapy框架实现持久化存储
  5. HDU 2068 Choose the best route
  6. 个人作业1——四则运算题目生成程序(基于java)
  7. ES6生成器函数generator
  8. 获取页面元素的滚动位置,兼容各浏览器
  9. TeeChart.Pro.v7.06在BDS2006中的安装(For Win32)
  10. 离线提取目标机hash