2024-05-23 18:17:04 发布
网友
我想生成一个退订链接,用户可以在收到电子邮件时单击该链接取消订阅该地址。我不想仅仅在链接中包含电子邮件,因为用户可以编辑链接以取消订阅其他人。我看到的大多数电子邮件都会生成某种令牌,网站知道如何将令牌与用户匹配。我怎么能用烧瓶产生这样的令牌?在
for email in email_lst: body = 'unsubscribe link with token' msg.attach(MIMEText(body, 'html')) more code to send email
Flask包含库itsdangerous,该库用于通过对序列化数据进行安全签名来生成令牌。在
对于每个电子邮件,为要取消订阅的电子邮件生成一个令牌,并创建一个unsubscribe路由,该路由接受并解码该令牌,以确定要取消订阅的人。在
unsubscribe
from itsdangerous import URLSafeSerializer, BadData @app.route('/unsubscribe/<token>') def unsubscribe(token): s = URLSafeSerializer(app.secret_key, salt='unsubscribe') try: email = s.loads(token) except BadData: # show an error ... # unsubscribe ... def send_email(): s = URLSafeSerializer(app.secret_key, salt='unsubscribe') token = s.dumps(user.email) url = url_for('unsubscribe', token=token) # add the url to your message ...
由于令牌是签名的,用户可以看到数据,但不能在不使令牌无效的情况下更改它。在
Flask包含库itsdangerous,该库用于通过对序列化数据进行安全签名来生成令牌。在
对于每个电子邮件,为要取消订阅的电子邮件生成一个令牌,并创建一个
unsubscribe
路由,该路由接受并解码该令牌,以确定要取消订阅的人。在由于令牌是签名的,用户可以看到数据,但不能在不使令牌无效的情况下更改它。在
相关问题 更多 >
编程相关推荐