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实现简单的可逆加密程序实例
Mar 05 Python
python使用pandas实现数据分割实例代码
Jan 25 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
Python实用库 PrettyTable 学习笔记
Aug 06 Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 Python
python 安装impala包步骤
Mar 28 Python
Python中SQLite如何使用
May 27 Python
Python3合并两个有序数组代码实例
Aug 11 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
Python 求向量的余弦值操作
Mar 04 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修正代码
2011/05/09 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
基于python实现模拟数据结构模型
2020/06/12 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
Java程序员常见面试题
2015/07/16 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
上海世博会口号
2014/06/19 职场文书
群众路线剖析材料
2014/09/30 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
辩护意见书
2015/06/04 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript