import os import smtplib from loguru import logger from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def send_lead_to_email(name, phone, email, diskription): """ Отправляет информацию о заявке на фиксированный email rkplastic@mail.ru. Args: name (str): ФИО клиента phone (str): Телефон клиента email (str): Email клиента Returns: bool: True если отправка успешна, иначе False """ # Настройки Яндекс.Почты SMTP_SERVER = "smtp.yandex.ru" SMTP_PORT = 587 SENDER_EMAIL = "rkplastic@yandex.ru" SENDER_PASSWORD = os.environ.get('EMAIL_PASS') RECIPIENT_EMAIL = "w0ron.black@yandex.ru" if not SENDER_PASSWORD: logger.error("❌ Не найдена переменная окружения EMAIL_PASS") return False # Тема и текст письма subject = "Новая заявка с сайта" body = f"""На сайте оставлена заявка: Имя: {name} Телефон: {phone} Почта: {email} Содержание заявки: {diskription} """ # Создаём сообщение msg = MIMEMultipart() msg['From'] = SENDER_EMAIL msg['To'] = RECIPIENT_EMAIL msg['Subject'] = subject msg['Reply-To'] = SENDER_EMAIL # Добавляем текст в кодировке UTF-8 msg.attach(MIMEText(body, 'plain', 'utf-8')) try: logger.info(f"Подключение к SMTP-серверу {SMTP_SERVER}:{SMTP_PORT}...") server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT) server.starttls() server.login(SENDER_EMAIL, SENDER_PASSWORD) server.send_message(msg) server.quit() logger.info(f"✅ Заявка успешно отправлена на {RECIPIENT_EMAIL}") return True except smtplib.SMTPAuthenticationError: logger.error("❌ Ошибка аутентификации. Проверьте пароль в переменной EMAIL_PASS") return False except smtplib.SMTPException as e: logger.error(f"❌ Ошибка SMTP: {e}") return False except Exception as e: logger.error(f"❌ Неожиданная ошибка: {e}") return False