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 25 Python
Python实现模拟时钟代码推荐
Nov 08 Python
Python中操作符重载用法分析
Apr 29 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
python 获取当天凌晨零点的时间戳方法
May 22 Python
Python爬虫之正则表达式的使用教程详解
Oct 25 Python
使用python实现mqtt的发布和订阅
May 05 Python
简单了解python变量的作用域
Jul 30 Python
Numpy的简单用法小结
Aug 28 Python
jupyter notebook 多行输出实例
Apr 09 Python
python数字图像处理之图像的批量处理
Jun 28 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 $_SERVER详解
2009/01/16 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
Mac中安装nvm的教程分享
2017/12/11 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
关于layui时间回显问题的解决方法
2019/09/24 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Python 串口读写的实现方法
2019/06/12 Python
详解python中各种文件打开模式
2020/01/19 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
HTTP状态码详解
2021/03/18 杂记
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
一套软件测试笔试题
2014/07/25 面试题
25道Java面试题集合
2013/05/21 面试题
实习生自我鉴定范文
2013/12/05 职场文书
大学生实习感言
2014/01/16 职场文书
公司前台辞职报告
2014/01/19 职场文书
婚礼主持结束词
2014/03/13 职场文书
英语专业自荐书
2014/06/13 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
超市食品安全承诺书
2015/04/29 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
入党后的感想
2015/08/10 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python