Python 技术篇-用smtplib和email库实现邮件发送各种类型的附件实例演示
qq 账号发送邮箱登陆密码需要用授权码。
可以看我的这个文章:
Python 技术篇-qq邮箱授权码开通
实现原理
我们用图片和文档两种类型的附件举个例子。
MIMEBase(",")
这个里只要有两个字符串参数就好了。可以随便填。
m_img.add_header('Content-Disposition', 'attachment', filename = "...")
filename 对应的名字填上就好了,展示就是靠这个名字来识别的,是展示为图片样式或是word文档样式。
#!/user/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Headermessage = MIMEMultipart() # 邮件主体# 邮件加入图片
m_img = MIMEBase('', '')
m_img.add_header('Content-Disposition', 'attachment', filename = "hello.jpg")
f = open("hello.jpg", "rb") # 读取本地图片
m_img.set_payload(f.read())
encoders.encode_base64(m_img)
message.attach(m_img)# 邮件加入文档
m_file = MIMEBase('', '')
m_file.add_header('Content-Disposition', 'attachment', filename = "hello.doc")
f = open("hello.doc", "rb") # 读取本地文档
m_file.set_payload(f.read())
encoders.encode_base64(m_file)
message.attach(m_file)message['From'] = Header('小爱') # 邮件发送者名字
message['To'] = Header('小蓝枣') # 邮件接收者名字
message['Subject'] = Header('来自异世界的一封信!') # 邮件主题mail = smtplib.SMTP()
mail.connect("smtp.qq.com") # 连接 qq 邮箱
mail.login("11507411@qq.com", "授权码") # 账号和授权码
mail.sendmail("11507411@qq.com", ["24185465@qq.com"], message.as_string()) # 发送账号、接收账号和邮件信息
运行效果图:
喜欢的点个赞❤吧!
Python 技术篇-用smtplib和email库实现邮件发送各种类型的附件实例演示相关推荐
- Python 技术篇-用smtplib和email库实现邮件发送并展示本地图片实例演示
qq账号发送邮箱登陆密码需要用授权码. 可以看我的这个文章: Python 技术篇-qq邮箱授权码开通 实现原理 将本地图片加入到邮件的附件中. m_img.add_header('Content-I ...
- [Python] [邮件发送] 用Python的smtplib和email库进行邮件发送
目录 1.Intro 2.Details 3.Theory 4.Environment 5.Source 6.Conclusion 1.Intro 眼看就到了12月中旬,除了帮朋友码竞赛题,前半个月可 ...
- Python自动发送邮件-smtplib和email库
一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三.写邮件主 ...
- Python 微信机器人-用itchat库向好友发送名片、转发名片实例演示
先看效果图: 我发给机器人的名片,它存了下来,然后再发送给我. itchat.content.CARD 就是名片类型,当微信接收到名片就会触发. itchat.send_raw_msg() 就是发送名 ...
- Python 技术篇-利用Office VBA实现word文档转化为pdf文档实例演示
# -*- coding: UTF8 -*- from win32com.client import *def switch_pdf(path, name):'''作用:将word文档转化为pdf文档 ...
- python 技术篇-logging模块的日志定期清理设置,自动清理上个月的日志实例演示
先说一下我设置的清理日志原理: 每天都建立一个新的日志文件来存储日志,每次启用程序时检查日志目录里的所有日志文件,自动清理上个月之前的日志. 如图,我把日期存在当天日志的名字里. 然后遍历目录下所有的 ...
- Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
定义了个 Result 类,里面设置了多种不同类型的属性. 后面函数只要把想返回的值存储在 Result 对象里再返回这个对象,就可以实现函数返回多个不同类型的值的需求了. package com.t ...
- Python+request+ smtplib 测试结果html报告邮件发送(上)《五》
此方法通用适合所有邮箱的使用,只需注意几个点,如下: QQ邮箱.其他非QQ邮箱的写法,区别点如下: #--------------------------使用腾讯企业邮箱作为发件人的操作如下----- ...
- Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示
Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示 第一章:霍夫变换检测圆 ① 实例演示1 ② 实例演示2 ③ 霍夫变换函数解析 第二章:Python + openc ...
最新文章
- 2018-3-14智能算法(文章--优化问题的智能算法及其哲学内涵)笔记一(什么是优化问题)
- 二维数组的传参数的方法
- java socket输入流_java – Socket输入流挂在最后读取.最好的办法呢?
- 银杏谷资本合伙人郑雨林:我为什么围绕阿里云生态做投资?
- java.text.MessageFormat 专题
- 以下选项不是python文本处理方向第三方库_Python程序设计-超星尔雅-学习通-题库零氪...
- 如何同时分析顺心捷达多个已签收单号的物流信息
- 格雷码与二进制转换电路设计
- mysql innodb 引擎下ibd文件过大的问题排查记录
- linux下libreoffice增加字体,Linux下Libreoffice增加字体
- 三星集团总裁李健熙:72岁老者的争议人生
- 利用ADB固定Android手机的CPU频率
- mysql截断表_mysql – 如何正确截断表?
- php md5 file算法原理,MD5算法原理与实现
- Flutter运行报错Automatically assigning platform `iOS` with version `9.0` on target `Runner`...
- 营业额=流量x转化率x客单价x复购率
- 数学建模中数据处理类型题目的主要处理流程与方法
- NFT/Web3/区块链项目孵化包装策划,到底该自建运营还是专业外包孵化?
- 调用大智慧L2接口是什么原理?作用是什么?
- launcher3 修改默认桌面布局