IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python添加word文档附件发送邮件 -> 正文阅读

[Python知识库]Python添加word文档附件发送邮件

Python添加word文档附件发送邮件

1、背景介绍

近期,有一门水课-项目管理,要求写2000字的疫情综述,写完交给学委。于是便萌生了用Python添加word文档附件,提交作业的想法。

2、代码实现

# 调用smtplib模块。
import smtplib
# 从email包下的text模块引入MIMEText类,用于构建邮件正文内容。
from email.mime.text import MIMEText
# 从email包下的multipart模块引入MIMEMultipart类,用于构建邮件。
from email.mime.multipart import MIMEMultipart
# 从email包下的application模块引入MIMEApplication类,用于封装附件。
from email.mime.application import MIMEApplication
# 从email包下的header模块引入Header类,用于构建邮件头。
from email.header import Header

# 发件邮箱账号。
sender='XXXXXX@qq.com'
# 发件邮箱开启SMTP服务生成的授权码。
pwd='XXXXXX'
# 收件邮箱账号。
receiver='XXXXXX@qq.com'

# mail()函数用来构建邮件。
def mail():
    #创建一个带附件的实例。可通过attach()方法把构造的内容传入到邮件的整体内容中。
    #如果一封邮件中含有附件,那邮件中必须定义multipart/mixed类型。
    #MIMEMultipart()构造方法中的第一个参数,默认值为mixed。定义mixed实现构建一个带附件的邮件体。
    msg=MIMEMultipart('mixed')
    # 定义邮件头信息。发件人、收件人、邮件主题。
    msg['From']=sender
    msg['To']=receiver
    subject='项目管理作业'
    # 为msg对象的Subject属性赋值。
    # 实例化了一个Header邮件头对象,并赋值给msg对象的Subject属性。
    msg['Subject']=Header(subject,'utf-8')
    # 邮件正文内容。
    main_body='学委,项目管理作业。收到,请回复!'
    # 通过attach()方法把构造的内容传入到邮件的整体内容中。
    # 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain为纯文本),第三个参数为编码。
    msg.attach(MIMEText(main_body,'plain','utf-8'))
    # 以二进制只读模式打开word文档。
    with open('XXXXXX-这边键入word文档路径','rb') as docs_file:
        # read()方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。
        # MIMEApplication()构造方法创建附件对象。
        docs_part=MIMEApplication(docs_file.read())
        # 重命名附件为XXX.docx。
        docs_part.add_header('Content-Disposition','attachment',filename='XXXXXX.docx')
        # 通过attach()方法把构造的内容传入到邮件的整体内容中。
        msg.attach(docs_part)
        # 返回实例。
        return msg

# send_mail()函数用来发送邮件。
def send_mail(content):
    # qq邮箱SMTP服务器。
    mailhost='smtp.qq.com'
    # 开启发信服务,这里使用的是加密传输。
    server=smtplib.SMTP_SSL(mailhost)
    server.connect(mailhost,465)
    # 登录指定邮箱。
    server.login(sender,pwd)
    # 获取邮件的内容。
    msg=content
    try:
        # 发送邮件。
        server.sendmail(sender,receiver,msg.as_string())
        print('邮件发送成功!')
    except:
        print('邮件发送失败!')
    # 退出登录。
    server.quit()

# 在 if __name__ == 'main': 下的代码只有在文件作为脚本直接执行时才会被执行,
# 而 import 到其他脚本中是不会被执行的。
if __name__=='__main__':
    send_mail(mail())
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 10:46:11  更:2021-09-05 10:48:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:39:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码