ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

通过smtplib和email发送验证码到电子邮箱(Python3.7.X)

2021-01-09 19:02:34  阅读:205  来源: 互联网

标签:digits 发送 Python3.7 num import msg 邮箱 smtplib email


使用前需要在发送方的邮箱里开启POP3/SMTP服务,这里以QQ邮箱为例,设置——账户——开启服务——获得授权码,以下案例模拟发送一串纯文本的6位数字验证码,比较简单易懂,可在此基础上再完善。

# coding=utf-8
import smtplib
import string
import random
from email.mime.text import MIMEText

msg_from = '此处填写开启SMTP服务的邮箱'  # 发送方邮箱
passwd = '此处填写自己的授权码'  # 就是上面的授权码
to_mail = input("请输入要发送的邮箱地址:")
to = [to_mail] 
# 设置邮件内容
num = string.digits

def update_num():
    num_digits = ""
    for i in range(6):
        num1 = random.choice(num)
        num_digits = num_digits + num1

    return num_digits


content = "验证码: " + "<font color='orange' size='5px'><b>" + update_num() + "</b></font>"
# 把内容加进去
msg = MIMEText(content, 'html', 'utf-8')
# 设置邮件主题
msg['Subject'] = "邮箱验证"
# 发送方信息
msg['From'] = msg_from
# 开始发送
# 通过SSL方式发送,服务器地址和端口
try:
    s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    # 登录邮箱
    s.login(msg_from, passwd)
    # 开始发送
    s.sendmail(msg_from, to, msg.as_string())
    s.quit()
    print("邮件发送成功")

except Exception as e:
    print(e)

不足之处:
1、验证码发送后没有验证过期的时间
2、没有对输入的邮箱有效性的验证判断

标签:digits,发送,Python3.7,num,import,msg,邮箱,smtplib,email
来源: https://blog.csdn.net/weixin_51424938/article/details/112399316

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有