python基础:用yagmail模块发邮件
一、yagmail模块安装
网上下载的yagmail模块安装以后,在使用过程中,如果附件有中文,会显示乱码。
pip install yagmail-0.10.212-py2.py3-none-any.whl
按装完成以后,使用时直接import yagmail 即可
二、准备工作
再写代码之前,先要对即将发送邮件的邮箱进行设置,开启SMTP服务,获取到授权码。(yagmail发送邮件时使用的密码就是授权码,而不是我们平时邮箱的密码)
以qq邮箱为例:
在设置--账户---SMTP服务


设置完成以后就可以了,一定要记住授权码,在一会会使用到
三、用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('发送成功')
python基础:用yagmail模块发邮件的更多相关文章
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- yagmail 实现发邮件
yagmail 实现发邮件 yagmail 可以更简单的来实现自动发邮件功能. github项目地址: https://github.com/kootenpv/yagmail 安装 pip insta ...
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- Python基础-包与模块
Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- python基础-包和模块
Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...
- python基础之psutil模块和发邮件(smtplib和yagmail)
除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装. 此 ...
- Python【yagmail】模块发邮件
#步骤一:import yagmail #步骤二:实例化一个发邮件的对象username = '553637138@qq.com' #邮箱账号pwd='sa2008' #授权码mail = yagma ...
- yagmail让发邮件更简单
这是我迄今为止碰到的最良心的库,真tm简单啊 import yagmail # 连接邮箱服务器 yag = yagmail.SMTP(user="wuyongqiang2012@163.co ...
随机推荐
- Linux下安装pgadmin,并外部访问
环境: Centos 7 .已经安装的postgresql11,具体安装可以查看https://www.cnblogs.com/whitebai/p/12122240.html 1.下载阿里的 rep ...
- for循环的插入元素
Scanner input = new Scanner(System.in); int[] num = new int[5]; for (int i = 0; i < num.length; ...
- Springboot + Rabbitmq + WebSocet + vue
1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- 代码生成器辅助类Stub、StubQueue与CodeletMark
在解释执行的情况下需要一些类来支持代码生成的过程. 1.InterpreterCodelet与Stub类 Stub类的定义如下: class Stub VALUE_OBJ_CLASS_SPEC { p ...
- undertow配置
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 # 不要设置过大,如果过大,启动项目会报错:打开文件数过多 #server.undertow.io- ...
- HTTP基础 --响应
响应,由服务端返回给客户端,分为三部分:响应状态码(Response Status Code),响应头(Response Headers)和响应体(Response Body). 响应状态码 响应服务 ...
- 四维dp,传纸条,方格取数
四维dp例题 四维dp便是维护4个状态的dp方式 拿题来说吧. 1. 洛谷P1004 方格取数 #include<iostream> #include<cstdio> usin ...
- 自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?
自己搭建的集群,启动hadoop 集群是,发现slave节点的datanode没有启动,查了资料发现是因为我在启动集群前,执行了这个命令: hadoop namenode -format 这个指令会重 ...
- PHP学习中的一些总结(持续更新)
文件上传部分 在前台的<form>表单中 hidden隐藏域的MAX_FILE_SIZE可以起到实质性的控制作用,即在文件上传之前就可以判断文件的大小,格式为: <form acti ...
- js实现树级递归,通过js生成tree树形菜单(递归算法)
方法封装: /** * 数据转换为树形(递归),示例:toTreeByRecursion(source, 'id', 'parentId', null, 'children') * @param {A ...