diff --git a/api/email.py b/api/email.py new file mode 100644 index 0000000..f8215b5 --- /dev/null +++ b/api/email.py @@ -0,0 +1,29 @@ +from flask import jsonify, request +from utils.mail import send_lead_to_email +from flask import Blueprint + +# Создаем blueprint для API +api_email = Blueprint('api_email', __name__, url_prefix='/api/email') + +@api_email.route('/', methods=['POST']) +def post_email(): + if not request.is_json: + return jsonify({"error": "Content-Type must be application/json"}), 400 + + data = request.get_json() + + # Извлекаем поля с проверкой наличия + name = data.get('name') + phone = data.get('phone') + email = data.get('email') + + if not name or not phone or not email: + return jsonify({"error": "Missing required fields: name, phone, email"}), 400 + + # Отправляем заявку на почту + success = send_lead_to_email(name, phone, email) + + if success: + return jsonify({"status": "success", "message": "Lead sent successfully"}), 200 + else: + return jsonify({"status": "error", "message": "Failed to send email"}), 500 diff --git a/app.py b/app.py index 6df7e78..e7a9510 100644 --- a/app.py +++ b/app.py @@ -6,6 +6,7 @@ from db.InitializeDBData import init_tables from utils.loadDotENV import initializeENV from api.categories import api_category from api.product import api_product +from api.email import api_email # Инициализация initializeENV() @@ -19,6 +20,7 @@ CORS(app) # Регистрируем blueprint app.register_blueprint(api_category) app.register_blueprint(api_product) +app.register_blueprint(api_email) @app.route('/health', methods=['GET']) def health_check(): diff --git a/utils/mail.py b/utils/mail.py index 9fc4467..8126b99 100644 --- a/utils/mail.py +++ b/utils/mail.py @@ -1,12 +1,9 @@ import os import smtplib -import logging +from loguru import logger from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart -# Настройка логирования -logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') -logger = logging.getLogger(__name__) def send_lead_to_email(name, phone, email): """