利用Python yagmail三行代码实现发送邮件


Posted in Python onMay 11, 2018

Python 发送邮件

我以前在通过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()

其实,这段代码也并不复杂,只要你理解使用过邮箱发送邮件,那么以下问题是你必须要考虑的:

  • 你登录的邮箱帐号/密码
  • 对方的邮箱帐号
  • 邮件内容(标题,正文,附件)
  • 邮箱服务器(SMTP.xxx.com/pop3.xxx.com)

其实网上其实是有关于python发邮件的教程的,主要用的都是smtplib库,虽然也不复杂,但是并没有今天要介绍的方法简单!

今天要介绍的重点对象——yagmail库

github项目地址: https://github.com/kootenpv/yagmail (本地下载)

话不多说,先看例子:

import yagmail
 yag = yagmail.SMTP(user='user@163.com',password='1234',host='smtp.163.com')
 contents = ['这里是内容']
 yag.send('target@qq.com','主题:这是一个主题',contents)

利用Python yagmail三行代码实现发送邮件

效果就是这样

简单讲解

yagmail.SMTP()参数

yagmail.SMTP()里面的几个重要参数!user和password顾名思义啦,就是你自己的邮箱账号和密码
但是这个问题就来了,我们平时登陆邮箱一般账号密码登陆有些时候好像是要打验证码的呀,这样python就传了个账号和密码真的能把邮件发出去吗?然鹅此密码非彼密码,用的密码是邮箱中的授权码,就是专门授权给机器登陆的密码。一般邮箱中,进入设置,然后POP3/SMTP/IMAP设置,打开服务就可以设置授权码了。

send()参数

yag.send(to=args.to,subject=args.subject,contents=args.contents,attachments=args.attachments)

args.to 是收件人邮箱(给多个目标发邮件只需创建一个列表,将邮箱放在列表中即可)

args.subject 是主题

args.contents 是邮箱正文

args.attachments 是附件(传入文件路径)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中的字符串类型基本知识学习教程
Feb 04 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
python实现批量图片格式转换
Jun 16 Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
Python银行系统实战源码
Oct 25 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
django 数据库返回queryset实现封装为字典
May 19 Python
什么是python的函数体
Jun 19 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 #Python
解决python3 json数据包含中文的读写问题
May 10 #Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 #Python
对python3 urllib包与http包的使用详解
May 10 #Python
Python3处理HTTP请求的实例
May 10 #Python
python字符串与url编码的转换实例
May 10 #Python
Python中的单继承与多继承实例分析
May 10 #Python
You might like
php 短链接算法收集与分析
2011/12/30 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
js实现左右轮播图
2020/01/09 Javascript
vue3.0 上手体验
2020/09/21 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python中的filter()函数的用法
2015/04/27 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
Python绘制动态水球图过程详解
2020/06/03 Python
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
应届生英语教师求职信
2013/11/05 职场文书
技校生自我鉴定
2013/12/08 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
开学第一周总结
2015/07/16 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
使用Python获取字典键对应值的方法
2022/04/26 Python