Python的yagmail模块发送邮件、附件以及SyntaxError: Non-UTF-8 code starting with ‘\xe6‘ in file

目录

一,需要模块:yagmail

二,用代码即可实现(三行即可)

三,详细说明

1,import yagmail 导入模块

2,yag = yagmail.SMTP("user", "password", "host")

3,yag.send(['xxxxxx@qq.com'], subject, content)

四,实例

五,中文报错SyntaxError: Non-UTF-8 code starting with '\xe6' in file


一,需要模块:yagmail

模块下载:
# MAC OS 环境:
pip3 install yagmail -i https://pypi.tuna.tsinghua.edu.cn/simple/# Windows 环境:
pip install yagmail -i https://pypi.tuna.tsinghua.edu.cn/simple/

二,用代码即可实现(三行即可)

# 导入 yagmail 模块
import yagmail# 连接邮箱服务器
yag = yagmail.SMTP(user='xxxxxx@qq.com', password='xxxxxx', host='smtp.qq.com')# 邮件内容
yag.send(to=['xxxxxx@qq.com'], 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@qq.com'], 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@qq.com', 'xxxxxxxxxxxxxxxx', 'smtp.qq.com')yag.send('54321@163.com', '主题', '内容')        #发送文本内容
yag.send('54321@163.com', sub, countent)        yag.send('54321@163.com', '主题', path)          #发送文件

五,中文报错SyntaxError: Non-UTF-8 code starting with '\xe6' in file

如果有SyntaxError: Non-UTF-8 code starting with '\xe6' in file  报错的话,在代码最上面加上编码格式  

#coding:utf-8


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部