通过邮件发送用户身份验证

时间:2019-07-08 15:12:24

标签: python flask jwt

我正在设计一个程序,该人(用户,管理员,客户端等)进行注册,然后我通过认证路径发送电子邮件,从而结束注册过程。

  1. 该人进入页面并放置他的电子邮件和密码。

  2. 该应用程序生成访问令牌,并将电子邮件保存为身份,接收电子邮件并通过链接发送令牌。

  3. 当单击链接重定向到页面时,该应用程序搜索访问令牌,从而允许用户完成其注册过程(姓名,姓氏,地址,电话等)。

    < / li>

我正在与flask框架一起使用python。到目前为止,我必须做访问令牌和访问不同路由所需的身份验证。我的问题是将带有令牌的链接发送到该人的电子邮件。

用于发送邮件,我正在使用SMTPLIB,这是代码

user = 'xxxxxxxxxx@gmail.com'

password = 'xxxxxxxxx'


    remitente = 'xxxxxxxxxx@gmail.com'
    destinatario = destinatario
    asunto = 'Registro Exitoso'
    mensaje = 'ok: <a href="nuevoenlace">nuevoenlace</a>' 


gmail = smtplib.SMTP('smtp.gmail.com', 587)


gmail.starttls()


gmail.login(user, password)


header = MIMEMultipart()    
header['From'] = remitente
header['To'] = destinatario
header['Subject'] = asunto
mensaje = MIMEText(mensaje, 'html')
header.attach(mensaje)

    gmail.sendmail(remitente, destinatario, header.as_string())

    gmail.quit()

好的,我的问题是通过邮件连同身份验证链接一起发送令牌,这会将我重定向到受保护的端点并完成输入过程

1 个答案:

答案 0 :(得分:0)

如果发送电子邮件有问题,在这里说here,您需要致电 gmail.ehlo() 在致电gmail.starttls()之前。 在此处查找更多信息:https://docs.python.org/3/library/smtplib.html

如果这不是问题,请提供更多信息或Stacktrace等。