Python3 notes

简介: Python3 notes

Python 发送带附件的邮件

发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送。

实例

#!/usr/bin/python3

 

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.header import Header

 

sender = 'from@runoob.com'

receivers = ['429240967@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

 

#创建一个带附件的实例

message = MIMEMultipart()

message['From'] = Header("菜鸟教程", 'utf-8')

message['To'] =  Header("测试", 'utf-8')

subject = 'Python SMTP 邮件测试'

message['Subject'] = Header(subject, 'utf-8')

 

#邮件正文内容

message.attach(MIMEText('这是菜鸟教程Python 邮件发送测试……', 'plain', 'utf-8'))

 

# 构造附件1,传送当前目录下的 test.txt 文件

att1 = MIMEText(open('test.txt', 'rb').read(), 'base64', 'utf-8')

att1["Content-Type"] = 'application/octet-stream'

# 这里的filename可以任意写,写什么名字,邮件中显示什么名字

att1["Content-Disposition"] = 'attachment; filename="test.txt"'

message.attach(att1)

 

# 构造附件2,传送当前目录下的 runoob.txt 文件

att2 = MIMEText(open('runoob.txt', 'rb').read(), 'base64', 'utf-8')

att2["Content-Type"] = 'application/octet-stream'

att2["Content-Disposition"] = 'attachment; filename="runoob.txt"'

message.attach(att2)

 

try:

   smtpObj = smtplib.SMTP('localhost')

   smtpObj.sendmail(sender, receivers, message.as_string())

   print ("邮件发送成功")

except smtplib.SMTPException:

   print ("Error: 无法发送邮件")

$ python3 test.py  

邮件发送成功

相关文章
|
人工智能 JSON 测试技术
软件测试/人工智能|Python Pip 常用命令大全
软件测试/人工智能|Python Pip 常用命令大全
|
存储
【动态规划】子数组系列
本文介绍了多个动态规划问题及其解决方案,包括最大子数组和、环形子数组的最大和、乘积最大子数组、乘积为正数的最长子数组长度、等差数列划分、最长湍流子数组、单词拆分及环绕字符串中唯一的子字符串。通过详细的状态定义、转移方程和代码实现,帮助读者理解每类问题的核心思路与解题技巧。
161 2
|
Java API 微服务
Spring Boot中的跨服务调用方法
Spring Boot中的跨服务调用方法
|
弹性计算 并行计算 Linux
【玩转AIGC系列】从0快速搭建个人版“对话大模型”
本教程介绍如何在阿里云GPU云服务器上基于Alpaca大模型快速搭建个人版“对话大模型”。
【玩转AIGC系列】从0快速搭建个人版“对话大模型”
|
安全 网络安全 Go
云计算与网络安全:技术融合的未来挑战与机遇
云计算的迅猛发展为企业和个人用户带来了前所未有的便利和高效,但同时也引发了诸多网络安全和信息安全问题。本文深入探讨了云计算的发展现状、其在网络安全领域的应用,以及面临的各类安全威胁,并提出了可能的解决方案和未来发展方向。
|
缓存 Linux 开发工具
轻松掌握Git开发(四)分支操作
轻松掌握Git开发(四)分支操作
|
存储 运维 容灾
浅谈互联网分布式架构的演进
互联网的系统常常面临庞大的用户群体,意味着系统需要时刻面临着大量高并发请求,海量的数据存储等问题的挑战,在解决这些问题的同时还要保证系统的高可用性。同时互联网行业更新迭代快,很多互联网巨头的发展初始阶段,为了快速把产品上线发布以占据用户流量,会以最简单的应用架构形态对系统进行部署,不会过多地考虑未来的应用架构的发展,所以很多互联网公司发展到一定规模,都会进行相应的架构重构与改进,以便适应业务的发展。
271 0
浅谈互联网分布式架构的演进
|
存储 缓存 开发工具
用好Git 和 SVN,轻松驾驭版本管理
用好Git 和 SVN,轻松驾驭版本管理
262 0
|
存储 弹性计算 安全
通过阿里云活动购买云服务器之后,后续如何购买云盘,升级带宽
很多用户通过阿里云各种活动购买好阿里云服务器之后,有的会应为业务或者流量的增加需要升级带宽,有的会处于数据安全考虑,需要购买并挂载数据盘,以下是升级云服务器带宽和购买挂载数据盘的流程介绍。
通过阿里云活动购买云服务器之后,后续如何购买云盘,升级带宽
|
.NET API 网络安全
ASP.NET Core Web API 与 SSL
SSL 一直没有真正研究过SSL,不知道下面的理解是否正确。 SSL是Secure Sockets Layer的缩写,它用来保护服务器和客户端之前的通信。它是基于信任+加密的概念。 在介绍SSL的原理之前,首先介绍一下加密(Encryption)的概念。
1926 0

热门文章

最新文章