python基础:用yagmail模块发邮件

时间:2021-11-13 22:21:27

 一、yagmail模块安装

网上下载的yagmail模块安装以后,在使用过程中,如果附件有中文,会显示乱码。

pip install yagmail-0.10.212-py2.py3-none-any.whl

按装完成以后,使用时直接import yagmail 即可

二、准备工作

再写代码之前,先要对即将发送邮件的邮箱进行设置,开启SMTP服务,获取到授权码。(yagmail发送邮件时使用的密码就是授权码,而不是我们平时邮箱的密码)

以qq邮箱为例:

在设置--账户---SMTP服务

python基础:用yagmail模块发邮件

 

python基础:用yagmail模块发邮件

 

 设置完成以后就可以了,一定要记住授权码,在一会会使用到

三、用yagmail模块自动发送邮件

import yagmail

username = 'sdfsfd@163.com'#邮箱账号
passwd = 'sdfsdfsd'#授权码,不是邮箱密码
mail = yagmail.SMTP(user=username,
                    password=passwd,
                    host='smtp.163.com',#其他服务器就smtp.qq.com  smtp.126.com
                    # smtp_ssl=True
                    ) #如果用的是qq邮箱或者你们公司的邮箱使用是安全协议的话,必须写上 smtp_ssl=True
mail.send(
    to=['123456789@qq.com','125555555@qq.com'], #如果多个收件人的话,写成list就行了,如果只是一个账号,就直接写字符串就行to='12345678@qq.com'
    cc='735557314@qq.com',#抄送
    subject='学习发送邮件',#邮件标题
    contents='你好,你今天开心吗?',#邮件正文
    attachments=[r'C:\Users\Desktop\a.txt',
                 r'C:\pp\b.txt'])#附件如果只有一个的话,用字符串就行,attachments=r'C:\\pp\\b.txt'
print('发送成功')