python实现发送邮件


Posted in Python onMarch 02, 2021

本文用163邮箱进行了测试,python用的是3.8版本进行的测试

1.设置邮箱,如下图所示

python实现发送邮件

2.设置过程如下图所示:

python实现发送邮件

设置完成后,添加如下代码:

# coding:utf-8 #强制使用utf-8编码格式
import smtplib # 加载smtplib模块
from email.mime.text import MIMEText
from email.utils import formataddr
from email.header import Header
 
#需要设置的内容如下所示:
my_sender = 'xxx@163.com' # 发件人邮箱账号,为了后面易于维护,所以写成了变量
my_user = 'yyy@163.com' # 收件人邮箱账号,为了后面易于维护,所以写成了变量
my_authorization_code = '*********' #在开启SMTP时的授权码
my_smtp = 'smtp.163.com' #163的SMTP服务
my_smtp_port = 25 #163的SMTP服务的端口号
 
 
def mail():
 ret = True
 try:
 msg = MIMEText('我是测试内容', 'plain', 'utf-8')
 msg['From'] = formataddr(["username", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
 msg['To'] = formataddr(["你的名称", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
 subject = 'Python SMTP 邮件测试'
 msg['Subject'] = Header(subject, 'utf-8')
 
 server = smtplib.SMTP(my_smtp, my_smtp_port) # 发件人邮箱中的SMTP服务器,端口是25
 server.login(my_sender, my_authorization_code) # 括号中对应的是发件人邮箱账号、在开启SMTP时的授权码
 server.sendmail(my_sender, my_user, msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
 server.quit() # 这句是关闭连接的意思
 except Exception: # 如果try中的语句没有执行,则会执行下面的ret=False
 ret = False
 return ret
 
ret = mail()
if ret:
 print("发送邮件成功!") # 如果发送成功,稍等20秒左右就可以收到邮件
else:
 print("发送邮件失败")

运行后收到邮件后,表示成功运行。

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

Python 相关文章推荐
python进阶教程之词典、字典、dict
Aug 29 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
python获取各操作系统硬件信息的方法
Jun 03 Python
Python操作Word批量生成文章的方法
Jul 28 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
Django处理文件上传File Uploads的实例
May 28 Python
python3.6的venv模块使用详解
Aug 01 Python
python tkinter图形界面代码统计工具
Sep 18 Python
python实现在一个画布上画多个子图
Jan 19 Python
如何通过python实现全排列
Feb 11 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
Sep 30 Python
python本地文件服务器实例教程
May 02 Python
matplotlib阶梯图的实现(step())
Mar 02 #Python
Python读写Excel表格的方法
Mar 02 #Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 #Python
python中Pexpect的工作流程实例讲解
Mar 02 #Python
Opencv 图片的OCR识别的实战示例
Mar 02 #Python
python实现控制台输出颜色
Mar 02 #Python
python 如何在测试中使用 Mock
Mar 01 #Python
You might like
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
用 JSON 处理缓存
2007/04/27 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
python分割和拼接字符串
2013/11/01 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
美国温暖商店:The Warming Store
2018/12/15 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
C#笔试题和英文面试题
2013/02/07 面试题
大学生专业个人学习的自我评价
2013/10/26 职场文书
《大海那边》教学反思
2014/04/09 职场文书
社团活动总结
2014/04/28 职场文书
2014年网管工作总结
2014/12/11 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
大学生就业意向书
2015/05/11 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
MySQL触发器的使用
2021/05/24 MySQL
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技