2025-06-07 10:48:03 +01:00
|
|
|
"""
|
2025-06-08 22:51:07 +01:00
|
|
|
Main routes and blueprint definition for the SMTP server web UI.
|
2025-06-07 10:48:03 +01:00
|
|
|
"""
|
2025-06-08 22:51:07 +01:00
|
|
|
from flask import Blueprint, render_template
|
2025-06-07 10:48:03 +01:00
|
|
|
from email_server.tool_box import get_logger
|
2025-06-08 22:51:07 +01:00
|
|
|
from datetime import datetime
|
2025-06-07 10:48:03 +01:00
|
|
|
|
|
|
|
|
|
2025-06-08 22:51:07 +01:00
|
|
|
# Create the main email blueprint
|
2025-06-07 10:48:03 +01:00
|
|
|
email_bp = Blueprint('email', __name__,
|
|
|
|
|
template_folder='templates',
|
|
|
|
|
static_folder='static',
|
2025-06-08 11:13:43 +01:00
|
|
|
url_prefix='/pymta-manager')
|
2025-06-07 10:48:03 +01:00
|
|
|
|
2025-06-07 11:57:21 +01:00
|
|
|
|
2025-06-08 22:51:07 +01:00
|
|
|
logger = get_logger()
|
2025-06-07 10:48:03 +01:00
|
|
|
|
|
|
|
|
# Error handlers
|
|
|
|
|
@email_bp.errorhandler(404)
|
|
|
|
|
def not_found(error):
|
|
|
|
|
"""Handle 404 errors."""
|
|
|
|
|
return render_template('error.html',
|
|
|
|
|
error_code=404,
|
|
|
|
|
error_message='Page not found',
|
|
|
|
|
current_time=datetime.now()), 404
|
|
|
|
|
|
|
|
|
|
@email_bp.errorhandler(500)
|
|
|
|
|
def internal_error(error):
|
|
|
|
|
"""Handle 500 errors."""
|
|
|
|
|
logger.error(f"Internal error: {error}")
|
|
|
|
|
return render_template('error.html',
|
|
|
|
|
error_code=500,
|
|
|
|
|
error_message='Internal server error',
|
2025-06-08 22:51:07 +01:00
|
|
|
current_time=datetime.now()), 500
|