大佬教你用Python实现发送邮件实现单发/群发邮件验证码附带源码

Posted 编程界的小胖子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大佬教你用Python实现发送邮件实现单发/群发邮件验证码附带源码相关的知识,希望对你有一定的参考价值。

smtplib

python发送邮件需要用到smtplib库,先简单了解一下

SMTP

简单邮件传输协议(SMTP)是用于电子邮件传输的通信协议。 Is 是一个 Internet 标准,该标准于 1982 年由 RFC 821 首次定义,并于 2008 年由 RFC 5321 更新为扩展 SMTP 添加。 邮件服务器和其他邮件传输代理使用 SMTP 发送和接收邮件。

smtplib是一个 Python 库,用于使用简单邮件传输协议(SMTP)发送电子邮件。 smtplib是内置模块; 我们不需要安装它。 它抽象了 SMTP 的所有复杂性。

邮件服务器

要实际发送电子邮件,我们需要有权访问邮件服务器。 Python 带有一个简单的开发邮件服务器。 Mailslurper 是易于使用的本地开发服务器。 共享的虚拟主机提供商使我们可以访问邮件服务器。 我们可以在帐户中找到详细信息。

smtp协议的基本命令包括:\\

    HELO 向服务器标识用户身份\\
    MAIL 初始化邮件传输 mail from:\\
    RCPT 标识单个的邮件接收人;常在MAIL命令后面,可有多个rcpt to:\\
    DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束\\
    VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令\\
    EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用\\
    HELP 查询服务器支持什么命令\\
    NOOP 无操作,服务器应响应OK\\
    QUIT 结束会话\\
    RSET 重置会话,当前传输被取消\\
    MAIL FROM 指定发送者地址\\
    RCPT TO 指明的接收者地址
复制代码

实战

1.126邮箱一般默认关闭SMTP服务,我们得先去开启它

 

 

2.Python代码如下


# smtplib 用于邮件的发信动作
import smtplib
from email.mime.text import MIMEText
# email 用于构建邮件内容
from email.header import Header
# 用于构建邮件头
# 发信方的信息:发信邮箱,126 邮箱授权码
from_addr = 'trobot@126.com'
password = 'POP3/SMTP服务授权密码,上一步可以获取'
 
# 收信方邮箱
to_addr = 'xxxx@163.com'
 
# 发信服务器
smtp_server = 'smtp.126.com'


"""标题"""
head="邮箱验证码"
"""正文"""
text="【TRobot】您的验证码32123,该验证码5分钟内有效,请勿泄漏于他人!"

 
# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
msg = MIMEText(text,'plain','utf-8')
 
# 邮件头信息
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header(head)
 
# 开启发信服务,这里使用的是加密传输
#server = smtplib.SMTP_SSL()
server=smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server,465)
# 登录发信邮箱
server.login(from_addr, password)
# 发送邮件
server.sendmail(from_addr, to_addr, msg.as_string())
# 关闭服务器
server.quit()

 

 ① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

需要相关资料的可以通过扫一扫

 

以上是关于大佬教你用Python实现发送邮件实现单发/群发邮件验证码附带源码的主要内容,如果未能解决你的问题,请参考以下文章

利用Python实现的一个自动群发或单发邮件的小脚本!(SMTP协议)

大佬教你用 Python 手把手实现远程控制桌面

# yyds干货盘点 # 手把手教你使用Python网络爬虫实现邮件定时发送(附源码)

#yyds干货盘点# 手把手教你使用Python网络爬虫实现邮件定时发送(附源码)

今天大佬教你用Python3-OpenCV实现实时摄像头人脸检测

教你用Python代码实现微信遥控电脑,简单骚操作值得学习