Python实现邮件发送功能的示例详解

想实现发送邮件需要经过以下几步:

1、登录邮件服务器

2、构造符合邮件协议规则要求的邮件内容

3、发送

Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件,它对smtp协议进行了简单的封装。

这里我们用qq邮箱为例,并且自己是可以给自己发邮件的。

在开始前我们先做准备工作:

登录qq邮箱,后点击“设置”

点击“账户”

确保前两项已开启,然后点击生成授权码。

因为我们网页登录时的密码是不可以用来python上使用;qq为了安全,我们平常用网页或者qq官方的客户端可以用我们的qq密码登录,但是第三方(比如python)是不可以登录的。

所以要生成第三方授权码。

代码

import smtplib
from email.mime.text import MIMEText  # 邮件正文
from email.header import Header  # 邮件头

# 登录邮件服务器
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人的SMTP服务器,端口号25
smtp_obj.login("你的qq账号", 'admc********')  # 括号中的内容分别是发件人邮箱账号、授权码
smtp_obj.set_debuglevel(1)  # 显示调试信息,可以不用写

# 设置邮件头信息
msg = MIMEText("测试用Python发送email。", "plain", "utf-8")  # 正文内容
msg['From'] = Header("小天天", 'utf-8')  # 发件人名字
msg["To"] = Header("有缘人", "UTF-8")  # 接收者名字
msg["Subject"] = Header('用Python发送邮件2022', 'utf-8')  # 主题

# 发送
smtp_obj.sendmail('发送人邮箱', ['接收人邮箱'], msg.as_string())
#第一个是发送人邮箱;第二个是数组,说明可以给多个人发送;msg就是刚刚写的发送内容。

运行代码

细节:SMTP使用是25端口,SSL使用的是456端口;SMTP是明文发送,SSL是加密发送

发送html格式的内容

import smtplib
from email.mime.text import MIMEText  # 邮件正文
from email.header import Header  # 邮件头

# 登录邮件服务器
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人的SMTP服务器,端口号25
smtp_obj.login("2308748900", 'admcwiwxxgmwdifh')  # 括号中的内容分别是发件人邮箱账号、邮箱密码
smtp_obj.set_debuglevel(1)  # 显示调试信息,可以不用写

# 设置邮件头信息
# HTML
msg_body='''
    <h4>python发送html格式的邮件</h4>
    <p>
        测试用HTML格式发送邮件
    </p>
'''
msg = MIMEText(msg_body, "html", "utf-8") # 将plain改成html
msg['From'] = Header("小天天", 'utf-8')  # 发件人名字
msg["To"] = Header("有缘人", "UTF-8")  # 接收者名字
msg["Subject"] = Header('用Python发送邮件2022', 'utf-8')  # 主题

# 发送
smtp_obj.sendmail('2308748900@qq.com', ['2308748900@qq.com'], msg.as_string())

主要代码和上面基本一样,只是将文本改成html的代码内容而已

到此这篇关于Python实现邮件发送功能的示例详解的文章就介绍到这了,更多相关Python邮件发送内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python实现邮件发送功能的方法详解

    目录 利用 python 发送普通邮件 认识发送邮件流程 认识邮件协议 smtplib 模块 email 包 发送邮件小案例 发送邮件的避坑总结 邮件自动化篇章所需的新模块: smtplib 邮件协议与发送模块 email 内容定义模块 schedule 定时模块 smtplib 与 email 模块 可以帮助我们正常的发送邮件: schedule 模块可以帮助我们定时发送邮件,比如工资邮件等需要固定时间发送的邮件 利用 python 发送普通邮件 认识发送邮件流程 这里简单描述下发邮件的过程(

  • Python实现定时发送监控邮件

    目录 一.自动定时任务运行详情 二.开启POP3/SMTP服务 三.发送邮件 1 导入库 2 设置邮件内容 3 添加附件 4 发送邮件 5 邮件发送效果 四.设置定时任务 1 设置定时任务的具体步骤 2 设置定时任务的教学视频 不管是在信贷领域还是支付领域,作为一个风控人员,我们都需要对部署的策略模型进行监控,信贷领域可能还需要对客户的逾期表现进行监控.这时,如果我们能用python自动连接数据库,对策略.模型.贷后表现等数据进行分析处理,输出标准表格或图片到固定文件夹中.再用python自动定

  • Python实现各种邮件发送

    目录 一.发送纯文本内容 二.发送附件图片 三.发送纯文本附件 四.发送excel表格附件 前言: Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 一.发送纯文本内容 代码如下: # 引入相应的模块 import smtplib from email.mime.text import MIMEText from email.mime.mult

  • 如何用python批量发送工资条邮件

    目录 思路: 总结反思: 工资excel表格格式如下所示: 使用python批量给每位员工发送工资条信息,格式如下: 思路: 首先是加载excel,获取当前sheet表格 salay = load_workbook('大唐建设集团-2022年5月工资.xlsx', data_only=True) ws = salay.active 登录所使用的发件邮箱服务器 # 登录邮箱服务器 smtp_obj = smtplib.SMTP_SSL('smtp.qq.com', 465) # smtp_obj.

  • Python实现自动化邮件发送过程详解

    使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,可以节省非常多的时间. 操作前配置(以较为复杂的QQ邮箱举例,其他邮箱操作类似) 单击设置-账号,滑倒下方协议处,开启IMAP/SMTP协议(IMAP,即Internet Message Access Protocol(互联网邮件访问协议),可以通过这种协议从邮件服务器上获取邮件的信息.下载邮件等.IMAP与POP类似,都是一种邮件获取协议.) (ps.开启需要验证) 记住端口号,后续写代码发送邮件时候需要 生成授权码,前期配置完

  • Python实现邮件发送功能的示例详解

    想实现发送邮件需要经过以下几步: 1.登录邮件服务器 2.构造符合邮件协议规则要求的邮件内容 3.发送 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件,它对smtp协议进行了简单的封装. 这里我们用qq邮箱为例,并且自己是可以给自己发邮件的. 在开始前我们先做准备工作: 登录qq邮箱,后点击“设置” 点击“账户” 确保前两项已开启,然后点击生成授权码. 因为我们网页登录时的密码是不可以用来python上使用:qq为了安全,我们平

  • Python实现邮件自动下载的示例详解

    开始码代码之前,我们先来了解一下三种邮件服务协议: 1.SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议.相当于中转站,将邮件发送到客户端. 2.POP3协议 POP3(Post Office Protocol 3),即邮局协议的第3个版本,是电子邮件的第一个离线协议标准.该协议把邮件下载到本地计算机,不与服务器同步,缺点是更易丢失邮件或多次下载相同的邮件. 3.IMAP协议 IMAP(Internet Mail Access Protoc

  • Python实现ATM简单功能的示例详解

    目录 一.局部变量.全局变量 二.global关键字 三.编写ATM程序 要求 详细步骤 存在问题 改进 完整代码 一.局部变量.全局变量 1.什么是局部变量 作用范围在函数内部,在函数外部无法使用 2.什么是全局变量 在函数内部和外部均可使用 3.如何将函数内定义的变量声明为全局变量 使用global关键字,global变量 二.global关键字 思考: num=100 def testsA() print(num) def testB() num=200 print(num) testA(

  • 深入Lumisoft.NET实现邮件发送功能的方法详解

    在前面的一些文章中,有介绍过DotNet内置SMTP类的邮件发送功能,附件.嵌入图片的模式都有介绍,本文继续介绍Lumisoft.NET这个非常优秀的开源组件,用该组件来设计开发邮件工具,将变得更加方便,功能更加强大.网上很多文章基本介绍如何使用该组件来收取邮件较多,较少介绍使用该组件做邮件发送功能的.本文主要探寻使用该组件实现邮件的发送功能,邮件发送有两种方式,一种是不用发件人即可发送邮件,一种是使用发件人账户密码和SMTP服务器来实现邮件发送的,本文分别对这两种方式进行介绍. 组件下载地址:

  • ThinkPHP3.2.3框架邮件发送功能图文实例详解

    本文实例讲述了ThinkPHP3.2.3框架邮件发送功能.分享给大家供大家参考,具体如下: 背景 web 开发过程中,经常会用到邮件的发送功能,比如接收消费账单的提醒.亚马逊图书推荐的推送,或者网站不正常操作报警的邮件提示等. 下面是一个在ThinkPHP 3.2.3 框架下集成 PHPMailer 使用的邮件发送功能实现过程,仅供参考,谢谢... 一.前期准备 1).首先对 STMP 的知识稍作了解 STMP 简介 <百度百科> 2).开启邮箱 STMP 服务 以 163.com 邮箱为例,

  • python爬虫使用requests发送post请求示例详解

    简介 HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式.服务端通过是根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析.具体的编码方式包括: application/x-www-form-urlencoded 最常见post提交数据的方式,以form表单形式提交数据. application/json 以json串提交数据. multipart/form-data 一般使用来上传文件. 一. 以f

  • Python实现日志实时监测的示例详解

    目录 介绍 观察者模式类图 观察者模式示例 1.创建订阅者类 2.创建发布者类 3.应用客户端-Map_server_client.py 4.测试 介绍 观察者模式:是一种行为型设计模式.主要关注的是对象的责任,允许你定义一种订阅机制,可在对象事件发生时通知多个"观察"该对象的其他对象.用来处理对象之间彼此交互. 观察者模式也叫发布-订阅模式,定义了对象之间一对多依赖,当一个对象改变状态时,这个对象的所有依赖者都会收到通知并按照自己的方式进行更新. 观察者设计模式是最简单的行为模式之一

  • 详解Python中生成随机数据的示例详解

    目录 随机性有多随机 加密安全性 PRNG random 模块 数组 numpy.random 相关数据的生成 random模块与NumPy对照表 CSPRNG 尽可能随机 os.urandom() secrets 最佳保存方式 UUID 工程随机性的比较 在日常工作编程中存在着各种随机事件,同样在编程中生成随机数字的时候也是一样,随机有多随机呢?在涉及信息安全的情况下,它是最重要的问题之一.每当在 Python 中生成随机数据.字符串或数字时,最好至少大致了解这些数据是如何生成的. 用于在 P

  • Python开发自定义Web框架的示例详解

    目录 开发自定义Web框架 1.开发Web服务器主体程序 2.开发Web框架主体程序 3.使用模板来展示响应内容 4.开发框架的路由列表功能 5.采用装饰器的方式添加路由 6.电影列表页面的开发案例 开发自定义Web框架 接收web服务器的动态资源请求,给web服务器提供处理动态资源请求的服务.根据请求资源路径的后缀名进行判断: 如果请求资源路径的后缀名是.html则是动态资源请求, 让web框架程序进行处理. 否则是静态资源请求,让web服务器程序进行处理. 1.开发Web服务器主体程序 1.

随机推荐