前言:
一些需要登录注册的软件是否会让你输入手机号或者邮箱号码,发送验证码才能注册,但背后是什么原理呢,让我们一起来看看吧~
思路:
这篇博客主要以邮箱验证码为主!
发送邮件
生成验证码
前两条结合发送验证码
验证验证码
发送邮件:
这里可以以(8条消息) Python 网易邮箱简单发送邮件_tjfsuxyy的博客-CSDN博客 这篇博客为主发送邮件
首先获取授权码,详情自己去看~
发送邮件的主要代码
import smtplib
from email.mime.text import MIMEText
subject = "主题"
sender = "xxxx@163.com"#发件人
content = "发件内容"
recver = "xxx@xxx.com"#收件人
password = "授权码!自己获得"
message = MIMEText(content,"plain","utf-8")
message['Subject'] = subject
message['To'] = recver
message['From'] = sender
smtp = smtplib.SMTP_SSL("smtp.163.com",994)
smtp.login(sender,password)
smtp.sendmail(sender,[recver],message.as_string())
smtp.close()
这样就可以使用Python发送一封邮件啦
生成验证码:
这就很简单啦,就是一个随机数
import random as r
a = str(r.randint(1000,9999))
print(a)
这就是生成了一个四位数的验证码,记得要转成字符串哦
发送验证码:
把前两段代码结合,将发送内容的content改为str(r.randint(1000,9999))就发送了一个随机验证码啦
import smtplib
from email.mime.text import MIMEText
import sys
import random as r
subject = "xxxx——验证码"
sender = "xxxx@163.com"
content = str(r.randint(1000,9999))
recver = input("请输入邮箱地址:")#这里加一个输入邮箱吧
password = "授权码"
message = MIMEText(content,"plain","utf-8")
message['Subject'] = subject
message['To'] = recver
message['From'] = sender
smtp = smtplib.SMTP_SSL("smtp.163.com",994)
smtp.login(sender,password)
smtp.sendmail(sender,[recver],message.as_string())
smtp.close()
验证验证码:
这就是全部代码了,在后面加一个输入和判断是否正确,if里面的代码有你任意发挥!
import smtplib
from email.mime.text import MIMEText
import sys
import random as r
subject = "xxxx——验证码"
sender = "xxx@163.com"
content = str(r.randint(1000,9999))
recver = input("请输入邮箱地址:")
password = "授权码"
message = MIMEText(content,"plain","utf-8")
message['Subject'] = subject
message['To'] = recver
message['From'] = sender
smtp = smtplib.SMTP_SSL("smtp.163.com",994)
smtp.login(sender,password)
smtp.sendmail(sender,[recver],message.as_string())
smtp.close()
ans = input("请输入验证码:")
if ans == content:
print("验证通过!")
else:
print("验证失败~")
好了,哪里不懂就留在评论区
看博主这么努力的份上,点个收藏吧,蟹蟹!~