python自动发邮件库yagmail的示例代码


Posted in Python onFebruary 23, 2018

之前使用的python的smtplib、email模块发模块的一步步骤是:

一、先导入smtplib模块  导入MIMEText库用来做纯文本的邮件模板
二、发邮件几个相关的参数,每个邮箱的发件服务器不一样,以126为例子百度搜索服务器是  smtp.126.com
三、写邮件主题和正文,这里的正文是HTML格式的
四、最后调用SMTP发件服务

一般发邮件方法

我以前在通过Python实现自动化邮件功能的时候是这样的:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 发送邮箱服务器
smtpserver = 'smtp.sina.com'
# 发送邮箱用户/密码
user = 'username@sina.com'
password = '123456'
# 发送邮箱
sender = 'username@sina.com'
# 接收邮箱
receiver = 'receive@126.com'
# 发送邮件主题
subject = 'Python email test'

# 编写HTML类型的邮件正文
msg = MIMEText('<html><h1>你好!</h1></html>','html','utf-8')
msg['Subject'] = Header(subject, 'utf-8')

# 连接发送邮件
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()

其实,这段代码也并不复杂,只要你理解使用过邮箱发送邮件,那么以下问题是你必须要考虑的:

  1. 你登录的邮箱帐号/密码
  2. 对方的邮箱帐号
  3. 邮件内容(标题,正文,附件)
  4. 邮箱服务器(SMTP.xxx.com/pop3.xxx.com)

yagmail 实现发邮件

yagmail 可以更简单的来实现自动发邮件功能。

github项目地址: https://github.com/kootenpv/yagmail

安装

pip install yagmail

简单例子

import yagmail
#链接邮箱服务器
yag = yagmail.SMTP( user="user@126.com", password="1234", host='smtp.126.com')

# 邮箱正文
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('taaa@126.com', 'subject', contents)

总共四行代码搞定,是不是比上面的例子简单太多了。

给多个用户发送邮件

# 发送邮件
yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], 'subject', contents)

只需要将接收邮箱 变成一个list即可。

发送带附件的邮件

# 发送邮件
yag.send('aaaa@126.com', '发送附件', contents, ["d://log.txt","d://baidu_img.jpg"])

只需要添加要发送的附件列表即可。

python自动发邮件库yagmail的示例代码

我都快感动哭了,到哪儿去找这么良心库去?简单的有点不像编程语言!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python查找第k小元素代码分享
Dec 18 Python
Fiddler如何抓取手机APP数据包
Jan 22 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
Jun 13 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
Python网页解析器使用实例详解
May 30 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
为什么python比较流行
Jun 19 Python
Python KMeans聚类问题分析
Feb 23 #Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 #Python
python kmeans聚类简单介绍和实现代码
Feb 23 #Python
python MysqlDb模块安装及其使用详解
Feb 23 #Python
Python实现k-means算法
Feb 23 #Python
python语言中with as的用法使用详解
Feb 23 #Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 #Python
You might like
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
用php实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
python三引号如何输入
2020/07/06 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
如何打开WebSphere远程debug
2014/10/10 面试题
J2EE系统只能是基于web
2015/09/08 面试题
汉语专业应届生求职信
2013/10/01 职场文书
零件设计自荐信范文
2013/11/27 职场文书
给实习单位的感谢信
2014/02/01 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
对照检查剖析材料
2014/09/30 职场文书
Java Spring Lifecycle的使用
2022/05/06 Java/Android