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中函数的多种格式和使用实例及小技巧
Apr 13 Python
python中as用法实例分析
Apr 30 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
Jun 30 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
python pands实现execl转csv 并修改csv指定列的方法
Dec 12 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 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/10/10 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
php中explode与split的区别介绍
2012/10/03 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
js获取域名的方法
2015/01/27 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
Python验证码截取识别代码实例
2020/05/16 Python
HTTP状态码详解
2021/03/18 杂记
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
大学生职业规划书的范本
2014/02/18 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
交通事故被告答辩状
2015/05/22 职场文书
历史博物馆观后感
2015/06/05 职场文书