python 邮箱验证_Python-发送邮件验证码

前言

​未经授权,禁止转载。转载联系邮箱i@r3r.top

​关于 Python 这个栏目,咕了几个月了,今天讲讲如何发送验证码并验证。

​因为部分原因,写这篇文章的时候心情是不太好的,播放首歌吧。

代码

导入

导入yagmail,random和time库

import yagmail,random,time #导入 yagmail , random 和 time 库

询问用户信息

询问用户昵称与邮箱 , 并设置验证码

ss = input("您的昵称:")#询问用户昵称

yonghu = input("您的邮箱:")#询问用户邮箱

key = random.randint(0,999999)#设置验证码

链接邮箱服务器

链接邮箱SMTP服务器发信

yag = yagmail.SMTP( user="**邮箱账号**", password="**邮箱密码或授权码**", host='**邮箱SMTP服务器**')#链接邮箱服务器发信

后续可能会出教程获取授权码,QQ邮箱的服务器是:smtp.qq.com;腾讯企业邮箱的服务器是:smtp.exmail.qq.com;

设置邮件主题

设置邮件发送时的主题

subject = [" JunJun.Tec 验证码"]

设置邮件内容

设置邮件发送时的内容

以下提供邮件HTML代码参考 ,也可不带格式。

{},您好! 
您的 JunJun.Tec 验证码/临时登录密码 为 
{}
如非您本人操作无需理会。 
感谢支持。

注明,代码内的 {} 无需修改,稍后需要嵌入验证码。如果自行编写,需要 {} 从而加入验证码。

以下提供Python代码

contents = ['''

{},您好! 
您的 JunJun.Tec 验证码/临时登录密码 为 
{}
如非您本人操作无需理会。 
感谢支持。

'''.format(ss,key)]#使用 ''' 嵌入HTML代码,使用 format 嵌入称呼(ss)与验证码(key)

使用 ''' 嵌入HTML代码,使用 format 嵌入称呼(ss)与验证码(key)

发送邮件

使用Yagmail向用户发信

yag.send(yonghu,subject, contents)#发送邮件

print("验证码邮件发送成功")

询问用户验证码

使用input向用户询问验证码

keypass2 = input("输入您的验证码:")#询问用户验证码

如果你直接拿用户提交的变量(keypass2)与验证码变量(key)进行比较,你就会发现bug,原因是两者格式不同,所以我们要对用户提交的变量(keypass2)进行处理

处理用户的验证码

对验证码进行处理

keypass = int(keypass2)#对 keypass2 进行 int 处理

比对验证码

if keypass == key:

print('correct!')# 正确

else:

print("Error!")# 错误

仍需改进的地方

还有许多内容没做,其中包括输入错误验证码后等待再发送,防止多次请求等等。

完整代码

import yagmail,random,time #导入 yagmail , random 和 time 库

ss = input("您的昵称:")#询问用户昵称

yonghu = input("您的邮箱:")#询问用户邮箱

key = random.randint(0,999999)#设置验证码

yag = yagmail.SMTP( user="**邮箱账号**", password="**邮箱密码或授权码**", host='**邮箱SMTP服务器**')#链接邮箱服务器发信

subject = [" JunJun.Tec 验证码"]

contents = ['''

{},您好! 
您的 JunJun.Tec 验证码/临时登录密码 为 
{}
如非您本人操作无需理会。 
感谢支持。

'''.format(ss,key)]#使用 ''' 嵌入HTML代码,使用 format 嵌入称呼(ss)与验证码(key)

yag.send(yonghu,subject, contents)#发送邮件

print("验证码邮件发送成功")

keypass2 = input("输入您的验证码:")#询问用户验证码

keypass = int(keypass2)#对 keypass2 进行 int 处理

if keypass == key:

print('correct!')# 正确

else:

print("Error!")# 错误

演示

写在最后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值