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中使用OpenCV进行人脸检测的例子
Apr 18 Python
Python库urllib与urllib2主要区别分析
Jul 13 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
python基础教程之匿名函数lambda
Jan 17 Python
python实现批量修改文件名代码
Sep 10 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
Python 编程速成(推荐)
Apr 15 Python
python如何实现视频转代码视频
Jun 17 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 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
图书管理程序(二)
2006/10/09 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
javascript radio 联动效果
2009/03/04 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
最新大学生自我评价
2013/09/24 职场文书
行政前台岗位职责
2013/12/04 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
企业文化口号
2014/06/12 职场文书
优秀党员申报材料
2014/12/18 职场文书
初中优秀学生评语
2014/12/29 职场文书
学校重阳节活动总结
2015/03/24 职场文书
《实心球》教学反思
2016/02/23 职场文书
创业计划书之宠物店
2019/09/19 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL