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

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 消息格式)的规范。
在这里插入图片描述

相关文章:

  • 【Redis】redis的数据类型、单线程模型和String的使用
  • 19. LangChain安全与伦理:如何避免模型“幻觉“与数据泄露?
  • 单细胞测序试验设计赏析(一)
  • C++ 友元:打破封装的钥匙
  • 希洛激活器策略思路
  • Java接口全面教程:从入门到精通
  • 智能决策支持系统的基本构建
  • 软件测试名词科普:驱动模块、桩模块
  • SQL经典实例
  • 剖析扩散模型(Denoising Diffusion Probabilistic Models)
  • Spring Cloud与Service Mesh集成:Istio服务网格实践
  • Qt/C++源码/实时视音频通话示例/极低延迟/可外网通话/画中画/支持嵌入式板子
  • Python面向对象编程实战:从类定义到高级特性的进阶之旅(2/10)
  • DeepSeek辅助学术写作之修订与校稿以及发表与推广相关提示词分享祝你顺利毕业~
  • Modbus 通讯协议(超详细,简单易懂)
  • java学习之数据结构:一、数组
  • 多协议 Tracker 系统架构与传感融合实战 第六章 多传感器时钟同步与数据对齐
  • 第5章 Python 基本数据类型详解(int, float, bool, str)
  • Linux中的时间同步
  • C++代码随想录刷题知识分享-----142.环形链表II
  • 计划招录2577人,“国考”补录8日开始报名
  • 李云泽:再批复600亿元,进一步扩大保险资金长期投资试点范围
  • 86岁书画家、美术教育家、吴昌硕嫡裔曾孙吴民先离世
  • 赵乐际:深入学习贯彻习近平生态文明思想,推动森林法全面有效贯彻实施
  • 安顺市原副市长、市公安局原局长顾长华任贵州省民委副主任
  • 中国首位、亚洲首位!赵心童夺得斯诺克世锦赛冠军