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 相关文章推荐
Django rest framework基本介绍与代码示例
Jan 26 Python
查找python项目依赖并生成requirements.txt的方法
Jul 10 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
tensorflow模型继续训练 fineturn实例
Jan 21 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
python实现人工蜂群算法
Sep 18 Python
python字典按照value排序方法
Dec 28 Python
浅谈Python类的单继承相关知识
May 12 Python
OpenCV图像变换之傅里叶变换的一些应用
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
php自动获取目录下的模板的代码
2010/08/08 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
prototype Element学习笔记(篇二)
2008/10/26 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
python中的函数用法入门教程
2014/09/02 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
Python 使用type来定义类的实现
2019/11/19 Python
tensorflow 变长序列存储实例
2020/01/20 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
通过自学python能找到工作吗
2020/06/21 Python
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
医药专业推荐信
2013/11/15 职场文书
大学生最常用的自我评价
2013/12/07 职场文书
安全教育演讲稿
2014/05/09 职场文书
理想演讲稿范文
2014/05/21 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
甜品店创业计划书
2014/09/21 职场文书