smtplib 模块与 email 模块

日常办公中正式文件的发送都需要用到邮件,以及在互联网工作中,月度总结、销售报表、考评表等等都需要邮件进行发送。在不考虑办公自动化之前,你发送一封邮件的步骤是如何呢?

第一步打开浏览器进入到邮箱登录界面,如 163、QQ、Sina 等;

输入邮箱用户名和密码进行登录;

登录后在邮箱主界面点击发件,编辑发送内容;

点击发送按钮,完成一封邮件的发送。

如果有一种方式不需要你打开浏览器,所有操作都在代码中完成,还可以灵活配置发送内容,实现定时发送、自动监听等操作,想起来是不是更酷了。这些都属于办公自动化的范畴。本小节将介绍利用 Python 实现邮件自动化。首先介绍所需模块 smtplib 与 email 的使用。

1. smtplib 与 email 模块介绍

介绍 smtplib 之前,可以先拆分下,介绍什么是 SMTP,SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。Python 内置对 SMTP 的支持,可以发送纯文本邮件、HTML 邮件以及带附件的邮件,Python 对 SMTP 支持有 smtplib 和 email 两个模块,email 负责构造邮件,smtplib 负责发送邮件。

2. 模块使用

smtplib 和 email 模块是 Python 的内置模块,无需额外安装,可以直接进行使用。使用步骤如下:

步骤 1:模块导入

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.mime.application import MIMEApplication

代码解释:

smtplib:smtplib 为负责发送邮件的模块;

MIMEText:构建邮件主体内容时使用;

MIMEMultipart:构建包含多个部分的邮件体的 MIME 对象,如带附件的邮件。

MIMEApplication:用来表示主要类型的 MIME 消息对象。

步骤 2:初始化 SMTP 对象

s=smtplib.SMTP([host [,port [,local_hostname]])

参数解释:

host:SMTP 服务器主机的 IP 地址或者是域名;

port:服务的端口号(默认是 25);

local_hostname:服务器的地址(默认是 localhost)。

下面为构建好的 SMTP 对象示例:

s=smtplib.SMTP("smtp.qq.com")

步骤 3:构建邮件内容

通过 Python 提供 email 模块构建邮件内容;

步骤 4:发送邮件

通过 smtplib 模块实现发送邮件。

3. 小结

本节课程我们主要学习了 smtplib 与 email 模块介绍。本节课程的重点如下:

了解 smtplib 与 email 模块的作用;

掌握 smtplib 与 email 模块实现邮件发送的使用步骤;

python办公模块_Python 办公自动化教程相关推荐

  1. python requests模块_Python 爬虫教程 requests 模块

    经过 前边文章<简单Python爬虫教程 (一)>.简单Python爬虫教程 (二)两篇文章的学习,能写一些比较简单的爬虫了,但是还不够,这一篇文章主要介绍Requests模块,reque ...

  2. python expect模块_Python基础教程:用Python怎么telnet到网络设备

    Python基础教程:用Python怎么telnet到网络设备 0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但 ...

  3. python存款模块_python入门教程NO.8用python写个存款利息计算器

    python 入门教程 NO.8 用 python 写个存款利息计算器 本文涉及的 python 基础语法为 def 函数, return ,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好的 ...

  4. python 微信模块_Python使用itchat模块实现简单的微信控制电脑功能示例

    本文实例讲述了python使用itchat模块实现简单的微信控制电脑功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import request ...

  5. python pp模块_Python模块--Pexpect

    探索 Pexpect,第 1 部分:剖析 Pexpect 概述 Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输 ...

  6. python counter模块_python collections模块 计数器(counter)

    一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 把我写入的元素出现的多少次都计算出来 import collectio ...

  7. python画四边形_python绘图教程-用python来绘制出四边形

    原标题:python绘图教程-用python来绘制出四边形 python的应用有很多,其中还可以用python来绘制四边形,下面羽忆教程网为您分享如何用python来绘制四边形的详细步骤. pytho ...

  8. python 数据分析模块_Python数据分析pandas模块用法实例详解

    本文实例讲述了Python数据分析pandas模块用法.分享给大家供大家参考,具体如下: pandas pandas10分钟入门,可以查看官网:10 minutes to pandas 也可以查看更复 ...

  9. python argparse模块_Python argparse模块应用实例解析

    这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...

最新文章

  1. 利用OpenCV的VideoCapture类实现视频读操作
  2. 解决EclipseSDK3.3.0无法启动问题
  3. 华硕老毛子(Padavan)——Ngrok内网穿透解决方案
  4. 【前端】JavaScript
  5. 服务器禁止head 请求_编写下载服务器。 第四部分:有效地执行HEAD操作
  6. PAT:1047. Student List for Course (25) AC
  7. AARRR:互联网创业者一定要掌握的指标
  8. 【UML】活动图Activity diagram(转)
  9. 去除TCP/IP筛选
  10. JavaWeb01-HTML篇笔记(一)
  11. hive concat_ws列转行排序问题
  12. 【评测】义翘神州CHO细胞无血清培养基
  13. 苹果官方揭秘:这个强大的相册功能是如何实现的?
  14. 2016年软件产业规模
  15. 二代测序的原理和简介
  16. JavaScript 语法树与代码转化实践
  17. TI DSP TMS320C66x学习笔记之VLIB测试数据(三)
  18. Java学习day028(正则表达式)
  19. 常系数非齐次线性微分方程(两种常见形式)
  20. 二维码解析成链接 二维码解码

热门文章

  1. spark-shuffle分析
  2. Qt之两种初始化QListWidget的方法
  3. 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
  4. MarkdownPad2.5 注册码
  5. log_bin.index not found 启动报错解决
  6. nodeJs-autoMerge
  7. QEMU-KVM自己主动创建虚拟机,以指定IP构造
  8. arm汇编学习(二)
  9. xgboost进行分类具体实现
  10. 回溯 皇后 算法笔记_回溯算法:N皇后问题