当前位置: 首页 > backend >正文

2025 年最新 Python 语言实现网易企业邮箱邮件推送验证码详细教程(更新中)

网易企业邮箱

官方网站:https://mailh.qiye.163.com/

客户端设置

在这里插入图片描述
配置客户端授权密码

邮箱客户端授权密码是为了增强安全性,尤其是在使用第三方应用或服务访问电子邮件账户时。授权密码是一个特殊的密码,用于代替用户的主密码进行身份验证,目的是防止第三方应用或服务直接访问用户的主密码。

邮箱客户端授权密码作用

增强安全性:授权密码一般是一次性的或者是专门为特定应用生成的,这样即使某个第三方应用遭到攻击,黑客也无法利用主密码访问你的邮箱。避免主密码泄露:通过使用授权密码,你的主邮箱密码就不会被暴露给第三方应用,减少了泄露的风险。限定权限:一些邮箱服务允许生成多个授权密码,每个授权密码都可以限定特定的访问权限,比如只允许读取邮件、发送邮件等。防止账户被锁定:使用授权密码可以避免因为第三方应用的登录错误导致邮箱账户被锁定或触发安全警报。

网易企业邮箱设置客户端授权密码

常见问题:您的邮箱管理员已经强制关闭客户端授权密码服务,您已无法使用客户端授权密码在客户端登录。

在这里插入图片描述

开启客户端授权密码
在这里插入图片描述
生成授权密码

在这里插入图片描述

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMETextclass MailSender:def __init__(self, mail_user, mail_pass):self.smtp_host = 'smtphz.qiye.163.com'  # 网易企业邮箱 SMTP 服务器地址self.smtp_port = 465  # 端口 465 支持 SSLself.mail_user = mail_user  # 发件人邮箱self.mail_pass = mail_pass  # 发件人邮箱的授权码(或者是密码)def send_code(self, code, to_email, email_type=''):if not self.mail_user or not self.mail_pass:print("邮箱账号或密码为空")return Falsetry:# 创建邮件内容msg = MIMEMultipart()msg['From'] = f'唤醒手腕实验室 <{self.mail_user}>'msg['To'] = to_emailmsg['Subject'] = '验证码'# 设置邮件正文(HTML 格式)html_content = f'''<html><body><p>您好!您的验证码是:<strong>{code}</strong></p><p>类型:{email_type}</p></body></html>'''msg.attach(MIMEText(html_content, 'html'))msg.attach(MIMEText("唤醒手腕实验室", 'plain'))# 使用 SSL 连接 SMTP 服务器并发送邮件with smtplib.SMTP_SSL(self.smtp_host, self.smtp_port) as server:print("正在连接到邮件服务器...")server.set_debuglevel(1)  # 开启调试模式,打印出更多详细信息server.login(self.mail_user, self.mail_pass)  # 登录邮件服务器server.sendmail(self.mail_user, to_email, msg.as_string())  # 发送邮件print("邮件发送成功")return Trueexcept smtplib.SMTPException as e:print(f"SMTP 错误: {e}")return Falseexcept Exception as e:print(f"邮件发送失败: {e}")return False# 使用示例
if __name__ == "__main__":sender = MailSender(mail_user=', mail_pass='')sender.send_code(code='123456', to_email='', email_type='验证码')

常见问题

邮件不符合 RFC 协议,通常是由于邮件格式、内容编码、标题格式等问题不符合 RFC 5321(SMTP)或 RFC 5322(Internet 消息格式)的规范。
在这里插入图片描述

http://www.xdnf.cn/news/3788.html

相关文章:

  • 智能决策支持系统的基本概念与理论体系
  • Ubuntu下安装Node.js
  • 【java八股文】深入浅出synchronized优化原理
  • 嵌入式Linux应用项目----智能网关
  • Docker Compose:服务编排:批量管理多个容器
  • 《Java高级编程:从原理到实战 - 进阶知识篇四》
  • 利用Elixir中的原子特性 + 错误消息泄露 -- Atom Bomb
  • 深度思考Qwen3
  • MySQL 中日期相减的完整指南
  • # 基于词袋模型(BoW)的猫狗图像分类实践
  • vue的diff算法是什么、比较方式,原理分析、示例解释讲解
  • 迭代器的思想和实现细节
  • 【序列化与反序列化详解】
  • 【漫话机器学习系列】237. TSS总平方和
  • 【2025软考高级架构师】——未来信息综合技术(11)
  • C++笔记-多态(包含虚函数,纯虚函数和虚函数表等)
  • 在MySQL中建索引时需要注意哪些事项?
  • Vue3源码学习5-不使用 `const enum` 的原因
  • 普推知产:图形商标通过初审,图形商标申请时注意!
  • 【深度学习】典型的 CNN 网络
  • Linux第20节 --- inode和文件系统
  • qsort函数的用法
  • MySQL 日期加减函数详解
  • 61常用控件_QDateTimeEdit的使用
  • 用Maven定位和解决依赖冲突
  • 研究主题:聊天机器人使用与情感纽带的形成
  • 归并排序【逆序对】
  • 【AI面试准备】数据驱动测试思维与实践指南
  • 使用Node.js搭建https服务器
  • 《Windows 环境下 Qt C++ 项目升级 GCC 版本的完整指南》