前言
在使用python发送邮件通常用到两个标准模块smtplib
和email
模块
smtplib
模块主要负责发送邮件,功能包括但不限于:连接邮箱服务器、登录邮箱,发送邮件。你可以理解为一个邮递员的角色
email
模块主要负责构造邮件,功能包括但不限于:创建一个电子邮件,解析一个电子邮件。你可以理解为这个包可以将你的邮件打包。然后就可以交给smtplib
(邮递员)发出去了
准备工作
首先需要两个邮箱用来收发邮件
首先进入发件邮箱
的网页,下面以QQ邮箱为例
先点上面第一第二步骤,然后找到下面这里点击
开启服务
,像我下面图一样。
通过验证以后,会得到下面这样的授权码,授权码等于在python中的密码,要保存以下,并且不能告诉其他人哦~
最后一部是找到发件邮箱的STMP服务器地址和端口号,各个邮箱均不相同,QQ邮箱的路径是:
右上角“账号与安全”->“安全设置”->“ 配置 SMTP/IMAP 方法”找到下图
到这里为止我们的准备工作就完成了。
Python语法部分
第一步我们要先创建一封邮件,那么我们需要知道一封邮件都包括哪些部分
—Subject:主题
—From:来自谁,发送者对自己的昵称,可以随便
—To:发送者,对接收者的昵称,可以随便
—context:类似实体邮件的内部的内容,包括但不限于:文本,附件,链接。
Email创建邮件
示例代码和注释如下:
from email.message import EmailMessage
# 创建邮件对象
msg = EmailMessage() #定义一个邮件的实例
# 设置发件人、收件人和主题
msg['From'] = 'sender@example.com' # 来自谁,发送者对自己的昵称,可以随便
msg['To'] = 'recipient@example.com' # 发送者对接收者的昵称,可以随便
msg