利用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实现dict版图遍历示例
Feb 19 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
安装python3的时候就是输入python3死活没有反应的解决方法
Jan 24 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
python中numpy数组与list相互转换实例方法
Jan 29 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
Mar 03 Python
Python实现为PDF去除水印的示例代码
Apr 03 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和ACCESS写聊天室(三)
2006/10/09 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
javascript 打印内容方法小结
2009/11/04 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
使用python加密自己的密码
2015/08/04 Python
python如何爬取个性签名
2018/06/19 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
小学生开学感言
2014/02/28 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
继承公证书格式
2015/01/26 职场文书
小学安全工作总结2015
2015/05/18 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android