This commit is contained in:
brusnitsyn
2026-06-10 16:53:03 +09:00
parent ff810e59bc
commit b5d1f61a82
9 changed files with 640 additions and 151 deletions

View File

@@ -1,3 +1,4 @@
import logging
import os
import smtplib
from email.mime.application import MIMEApplication
@@ -7,6 +8,8 @@ from typing import List
from .config import Config
logger = logging.getLogger(__name__)
class EmailSender:
"""Класс для отправки email уведомлений"""
@@ -16,9 +19,9 @@ class EmailSender:
def send_email(self, subject: str, body: str, attachments: List[str] = None):
"""Отправка email с вложениями"""
if not all([self.config.EMAIL_HOST, self.config.EMAIL_USER,
if not all([self.config.EMAIL_HOST, self.config.EMAIL_USER,
self.config.EMAIL_PASSWORD, self.config.EMAIL_FROM]):
print("Настройки email не заполнены. Отправка email пропущена.")
logger.warning("Настройки email не заполнены. Отправка email пропущена.")
return False
try:
@@ -45,11 +48,11 @@ class EmailSender:
server.login(self.config.EMAIL_USER, self.config.EMAIL_PASSWORD)
server.send_message(msg)
print(f"Email успешно отправлен на {', '.join(self.config.EMAIL_TO)}")
logger.info(f"Email успешно отправлен на {', '.join(self.config.EMAIL_TO)}")
return True
except Exception as e:
print(f"Ошибка при отправке email: {e}")
logger.error(f"Ошибка при отправке email: {e}")
return False