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 文件和路径操作函数小结
Nov 23 Python
python实现udp数据报传输的方法
Sep 26 Python
用Python实现换行符转换的脚本的教程
Apr 16 Python
python实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
Python使用matplotlib绘制动画的方法
May 20 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
Python安装selenium包详细过程
Jul 23 Python
Vs Code中8个好用的python 扩展插件
Oct 12 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检测mysql表是否存在的方法小结
2017/07/20 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
Python数据结构之翻转链表
2017/02/25 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
彻底搞懂Python字符编码
2018/01/23 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
2014年六一儿童节演讲稿
2014/05/23 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
反腐倡廉观后感
2015/06/08 职场文书
军训结束新闻稿
2015/07/17 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫