利用Python发验证码

前言:

一些需要登录注册的软件是否会让你输入手机号或者邮箱号码,发送验证码才能注册,但背后是什么原理呢,让我们一起来看看吧~

思路:

这篇博客主要以邮箱验证码为主!

  1. 发送邮件

  1. 生成验证码

  1. 前两条结合发送验证码

  1. 验证验证码

发送邮件:

这里可以以(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("验证失败~")

好了,哪里不懂就留在评论区

看博主这么努力的份上,点个收藏吧,蟹蟹!~

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值