Python发送邮件实现基础解析


Posted in Python onAugust 14, 2020

一、python邮件模块简介

email模块属于内置模块,用来自定义邮件的中文、主题、日期、附件等信息;

smtplib模块属于内置模块,它对smtp协议进行了简单的封装,能实现邮件发送。

二、邮件发送步骤

创建SMTP的操作对象并连接smtp目标服务器,可以是163、QQ等

使用自己的账号登录目标服务器(自己的邮箱地址和邮箱授权码)

调用对象中的方法,发送邮件到目标地址

示例代码如下:

import smtplib

server = smtplib.SMTP() 
smtp.connect(smtp_server) # 发件人邮箱中的SMTP服务器,端口默认是25
server.login(sender, passwd) # 发件人邮箱账号、邮箱授权码
# msg.as_string()中as_string()是将msg(MIMEText或MIMEMultipart对象)变为str。
server.sendmail(sender, receive, msg.as_string()) 
server.quit()

上述代码没有填写实际的值,不能直接执行,有以下注意点:

msg就是我们的邮件信息对象,通过 email模块 进行定义

邮箱授权码 非登录邮箱的密码,需要读者进入QQ邮箱或其它邮箱根据步骤进行开通和获取

简单邮件实战代码如下:

import smtplib
from email.mime.text import MIMEText
smtp = smtplib.SMTP()
smtp.connect('smtp.qq.com')
smtp.login('329999897@qq.com','***授权码***')

msg = MIMEText('这是一封测试邮件', "html", "utf-8") #邮件信息对象
msg['from'] = '329999897@qq.com' # 发送人邮箱
msg['to'] = ‘liusir@qq.com' # 邮件接收人邮箱
msg['subject'] = ‘测试邮件' #邮件主题

smtp.sendmail('329999897@qq.com','liusir@qq.com',msg.as_string())
smtp.quit()

此时就可以完成简单发送邮件啦。

发送邮件的时候也可以带附件,下一次分享吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ZipFile模块详解
Nov 01 Python
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
Python fileinput模块使用介绍
Nov 30 Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 Python
Python输入二维数组方法
Apr 13 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
Python字典的核心底层原理讲解
Jan 24 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
python文件选择对话框的操作方法
Jun 27 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
Pytorch实验常用代码段汇总
Nov 19 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 #Python
Python编写memcached启动脚本代码实例
Aug 14 #Python
Python自动巡检H3C交换机实现过程解析
Aug 14 #Python
基于python调用jenkins-cli实现快速发布
Aug 14 #Python
使用tensorflow进行音乐类型的分类
Aug 14 #Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 #Python
如何真正的了解python装饰器
Aug 14 #Python
You might like
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
Python中enumerate函数代码解析
2017/10/31 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Python类及获取对象属性方法解析
2020/06/15 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
商务英语求职自荐信范文
2013/12/24 职场文书
审计主管岗位职责
2014/01/31 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
如何优化vue打包文件过大
2022/04/13 Vue.js