先上代码,后讲解。
import yagmail #导入第三方模块yagmail
yag = yagmail.SMTP(user='发件人邮箱', password='授权码', host='服务器地址')
yag.send(to=['收件人邮箱'], subject='主题', contents='邮件内容')
第一行:
导入第三方模块 yagmail 。
第二行:
使用 SMTP协议与邮箱服务器进行连接。SMTP 是 Simple Mail Transfer Protocol 的缩写,即简单邮件传输协议。建立连接时,需要传入发件人邮箱、授权码和服务器地址三个参数。
1)授权码
授权码并不是邮箱密码,以QQ邮箱为例。点击“设置”——>点击"账号",往下滑。
找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启第一个 POP3/SMTP服务,点击下方授权码,会生成一个16位的字符串,直接复制即可,但是注意把空格删掉!!,不然程序会报错。而且,切勿泄露,授权码和QQ密码一样重要!
2)服务器地址
服务器地址时特定邮箱提供的,如QQ邮箱,在百度中搜索 QQ邮箱 smtp 服务器地址 即可得QQ邮箱的服务器地址。如果要使用其他邮箱,搜索对应邮箱 smtp 服务器地址即可。
第三行
第三行,调用 yag.send() 方法发送邮件,参数 to 是收件人邮箱,接受的是一个列表,可以传入多个收件人邮箱。参数 subject 是邮件的主题,参数 contents 是邮件内容。
contents 参数
可以传入列表,比如: contents = ['你好', '我是小浪宝宝']。用逗号隔开将内容分成两行。也可传入文件路径,那么该文件将会作为附件发送。如:contents=['我是小浪宝宝','D:\\照片\\自己的帅照.png'] 。如果文件路径不存在,则会将其作为文本显示。