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之网站的结构
Oct 24 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
Python 多进程和数据传递的理解
Oct 09 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
python实现合并多个list及合并多个django QuerySet的方法示例
Jun 11 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
基于python实现数组格式参数加密计算
Apr 21 Python
python语言中有算法吗
Jun 16 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
PHP 在线翻译函数代码
2009/05/07 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
js如何验证密码强度
2020/03/18 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
详解python中*号的用法
2019/10/21 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
Python读写锁实现实现代码解析
2020/11/28 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
网络安全方面的面试题
2015/11/04 面试题
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书