目录
一,需要模块:yagmail
二,用代码即可实现(三行即可)
三,详细说明
1,import yagmail 导入模块
2,yag = yagmail.SMTP("user", "password", "host")
3,yag.send(['xxxxxx@'], subject, content)
四,实例
五,中文报错SyntaxError: Non-UTF-8 code starting with '\xe6' in file
一,需要模块:yagmail
模块下载:# MAC OS 环境:pip3 install yagmail -i https://pypi.tuna./simple/# Windows 环境:pip install yagmail -i https://pypi.tuna./simple/
二,用代码即可实现(三行即可)
# 导入 yagmail 模块import yagmail# 连接邮箱服务器yag = yagmail.SMTP(user='xxxxxx@', password='xxxxxx', host='')# 邮件内容yag.send(to=['xxxxxx@'], subject='Python 发送邮件', contents='人生苦短,我用 Python')
三,详细说明
1,import yagmail 导入模块
2,yag = yagmail.SMTP("user", "password", "host")
(1)user 发件人邮箱也就是你自己的邮箱地址
(2)password是授权码,不是邮箱密码
(3)授权码获取方式如下(以QQ邮箱为例):
登录QQ邮箱后,设置——>账户——>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务——>
我们需要开启POP3/SMTP 服务——>生成授权码
开启后会得到一个授权码,如果已经开启,可以点击下面的生成授权码重新获取新的授权码。生成授权码的界面如下,是一个 16 位的字符串,我们直接复制即可。注意,这个授权码和密码一样是极其隐私的,千万不要泄露出来。
3,yag.send(['xxxxxx@'], subject, content)
(1)to
:收件人邮箱,可接收一个列表,传入多个收件人邮箱;
(2)subject
:邮件主题;
(3)
contents
:邮件内容,可接收一个列表,传入多行文本或多个文件。如果我们把文件路径作为列表元素,那么该文件也会作为附件发送;如果 路径下这个文件不存在,那发送的邮件就会将存储路径作为文本直接显示。
四,实例
import yagmail# coding:utf-8sub = '主题'countent = '内容'path = r'D:\Progect\pythonProject\Hello.txt' #文件所在路径yag = yagmail.SMTP('12345@', 'xxxxxxxxxxxxxxxx', '')yag.send('54321@', '主题', '内容') #发送文本内容yag.send('54321@', sub, countent) yag.send('54321@', '主题', path)#发送文件
五,中文报错SyntaxError: Non-UTF-8 code starting with '\xe6' in file
如果有SyntaxError: Non-UTF-8 code starting with '\xe6' in file 报错的话,在代码最上面加上编码格式
#coding:utf-8