文章来源:GITHub:https://github.com/kootenpv/yagmail
- 安装
pip3 install yagmail
pip3 install keyring
- 简单例子
import yagmail yag = yagmail.SMTP(user = 'xxx@163.com', password = 'xxx', host = 'smtp.163.com') yag.send(to = 'xxx@163.com', subject = 'This is subject', contents = 'This is content')
注意:
-
如果你的邮箱没有开通IMAP/POP3/SMTP服务,就会提示如下错误信息:
smtplib.SMTPAuthenticationError: (550, b'User has no permission')
以163邮箱为例,解决方案在网页上登录自己邮箱,点击“设置->POP3/SMTP/IMAP”,勾选“POP3/STMP服务”和“IMAP/STMP服务”,弹窗会提示你设置授权码,点击“确定”,点击“开启”,通过验证后,即可开启。记住自己输入的授权码,在password中输入授权码,即可登录。 - 如果程序运行没出错,而目标邮箱没有收到邮件,请检查垃圾箱。
- 给多个邮箱发邮件
1
|
yag.send(to = [ 'aa@163.com' , 'bb@qq.com' , 'cc@gmail.com' ], 'subject' , 'contents' ) |
- 发送附件
1
2
|
yag.send(to = 'xxx@163.com' , subject = 'subject' , contents = [ 'hello' , 'C:\\Users\\Desktop\\test.txt' ]) |
注意:如果邮件发送之后被退回,那么程序不会显示任何错误信息,但是发件人的邮箱会有退信邮件。
- 更多细节
1
|
yagmail.register( 'mygmailusername' , 'mygmailpassword' ) |
以下是项目介绍:
yagmail -- Yet Another GMAIL/SMTP client
这里的目标是尽可能简单,无痛地发送电子邮件。
最后,您的代码将如下所示:
import yagmail yag = yagmail.SMTP() contents = ['This is the body, and here is just text http://somedomain/image.png', 'You can find an audio file attached.', '/local/path/song.mp3'] yag.send('to@someone.com', 'subject', contents)
或者简单的单行:
1
|
yagmail.SMTP( 'mygmailusername' ).send( 'to@someone.com' , 'subject' , 'This is the body' ) |
请注意,它将从您的密钥环安全地读取密码(如下所示)。如果您不想这样,您也可以使用以下内容进行初始化:
1
|
yag = yagmail.SMTP( 'mygmailusername' , 'mygmailpassword' ) |
但老实说,你想在你的脚本中写下你的密码吗?
同样,我使用我的用户名.yagmail
在我的主文件夹中命名的文件中。
目录
部分 | 说明 |
---|---|
安装 | 在此处查找有关如何安装yagmail的说明 |
用户名和密码 | 不再需要在脚本中填写用户名和密码 |
开始连接 | 开始吧 |
可用性 | 显示发送的一些使用模式 |
收件人 | 如何发送给多个人,给别名或发送给自己 |
神奇的内容 | 真的很容易发送文本,HTML,图像和附件 |
反馈 | 如何向我发送反馈 |
路线图(和优先事项) | 对 |
错误 | 处理发送电子邮件的人员的常见错误列表 |
安装
对于Python 2.x和Python 3.x分别:
1
2
|
pip install yagmail[all] pip3 install yagmail[all] |
如果您在安装密钥环时遇到问题,请尝试不安装,即pip install yagmail
。
作为旁注,yagmail
现在还可以用于从命令行发送电子邮件。
用户名和密码
钥匙圈引用:
The Python
keyring
lib provides a easy way to access the system keyring service from python. It can be used in any application that needs safe password storage.
你知道你想要它。通过打开Python解释器并运行来设置它:
1
2
|
import yagmail yagmail.register( 'mygmailusername' , 'mygmailpassword' ) |
事实上,它只是一个包装keyring.set_password('yagmail', 'mygmailusername', 'mygmailpassword')
。
如果未给出密码且密钥环中未找到用户,
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式