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 25 Python
使用python实现省市三级菜单效果
Jan 20 Python
使用Python内置的模块与函数进行不同进制的数的转换
Mar 12 Python
浅谈Python数据类型判断及列表脚本操作
Nov 04 Python
Python计时相关操作详解【time,datetime】
May 26 Python
pandas表连接 索引上的合并方法
Jun 08 Python
PyCharm设置SSH远程调试的方法
Jul 17 Python
浅谈Python基础—判断和循环
Mar 22 Python
python文件写入write()的操作
May 14 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
python opencv人脸识别考勤系统的完整源码
Apr 26 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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
JAVA/JSP学习系列之二
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
php 的反射详解及示例代码
2016/08/25 PHP
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
js性能优化技巧
2015/11/29 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
Python函数的周期性执行实现方法
2016/08/13 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
计划生育证明格式及范本
2014/10/09 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
学风建设主题班会
2015/08/17 职场文书
如何做好工作总结!
2019/04/10 职场文书