开发者社区> 小蓝枣> 正文

Python 技术篇-用smtplib和email库实现邮件发送各种类型的附件实例演示

简介: 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 Header
    
message = 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())   # 发送账号、接收账号和邮件信息

运行效果图:

image.png

喜欢的点个赞❤吧!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
矩阵类的python实现
科学计算离不开矩阵的运算。当然,python已经有非常好的现成的库:numpy。   我写这个矩阵类,并不是打算重新造一个轮子,只是作为一个练习,记录在此。   注:这个类的函数还没全部实现,慢慢在完善吧。
657 0
PHPMailer安装及简单实例(PHP发送邮件不用Smtp类)
PHPMailer安装及简单实例 [ 2006-11-29 14:37:49 | Author: songzi ] Font Size: Large | Medium | Small PHPMailer是一个用PHP写的用于邮件发送的类,有点像Jmail,相信很多新手和我一样,开始很茫然,不知道怎么安装,查找了一下,发现这方面的资料真的少之又少,一个文章被转载千百次,一搜索全是同一个内容,真不知道说什么好,其实打开安装里的readme就一目了然了,闲话少说,安装其实很简单。
1443 0
Python发送邮件模块之——yagmail模块
Python3中很好用的一款邮件发送模块,特别是搭建监控系统用于邮件报警时,很推荐!
3197 0
Linux SendMail 使用外部SMTP服务发送邮件
这个今天刚好用到,就测试了一下。OK了。。因为,PYTHON模块是可以,但SHELL脚本用SHELL发,还是合拍点。。   http://my.oschina.net/duangr/blog/183162   1.
1307 0
python发送邮件
1 # -*- coding: UTF-8 -*- 2 ''' 3 发送txt文本邮件 4 http://www.cnblogs.com/liu-ke 5 ''' 6 import smtplib 7 from email.
1038 0
php封装json通信接口详解及实例
php创建JSON数据详解: ``` <?php //创建一个字符数组 $arr=array( 'id'=>1, 'name'=>'david' ); echo json_encode($arr);//这个是创建JSON的关键函数 ?> ...
1696 0
简单的贝叶斯分类器的python实现
  1 # -*- coding: utf-8 -*- 2 ''' 3 >>> c = Classy() 4 >>> c.train(['cpu', 'RAM', 'ALU', 'io', 'bridge', 'disk'], 'architecture') 5 True 6 >>> c.
631 0
Json.Net系列教程 1.Json.Net介绍及实例
原文 Json.Net系列教程 1.Json.Net介绍及实例 本系列教程假设读者已经对Json有一定的了解,关于Json在这里不多说.本系列教程希望能对读者开发涉及到Json的.Net项目有一定的帮 助.本系列教程是根据官方文档资料和自己项目应用汇总而成.如果觉得本系列对你有用,望多多关注.本人还只是个未毕业的学生,水平有限,尽请指正. 一.Json.Net有什么用?   Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。
1186 0
+关注
649
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载