Performance: Password reset email pattern
MEDIUM IMPACT
This pattern affects page load speed indirectly by impacting server response time and user interaction responsiveness during password reset requests.
from flask import Flask, request from flask_mail import Mail, Message from threading import Thread app = Flask(__name__) mail = Mail(app) def send_async_email(app, msg): with app.app_context(): mail.send(msg) @app.route('/reset-password', methods=['POST']) def reset_password(): email = request.form['email'] token = 'secure-token' msg = Message('Reset Your Password', recipients=[email]) msg.body = f'Click to reset: https://example.com/reset/{token}' Thread(target=send_async_email, args=(app, msg)).start() # Send email asynchronously return 'Email sent', 200
from flask import Flask, request from flask_mail import Mail, Message app = Flask(__name__) mail = Mail(app) @app.route('/reset-password', methods=['POST']) def reset_password(): email = request.form['email'] # Generate token here token = 'secure-token' msg = Message('Reset Your Password', recipients=[email]) msg.body = f'Click to reset: https://example.com/reset/{token}' mail.send(msg) # Sending email synchronously return 'Email sent', 200
| Pattern | Server Blocking | User Wait Time | Interaction Responsiveness | Verdict |
|---|---|---|---|---|
| Synchronous email sending | Blocks server thread | High (500-2000ms) | Poor (high INP) | [X] Bad |
| Asynchronous email sending | Non-blocking | Low (<100ms) | Good (low INP) | [OK] Good |