Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/admin/admin_email.py: 55%
22 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:32 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:32 +0000
1from typing import Annotated 1a
3from fastapi import APIRouter, Header 1a
5from mealie.routes._base import BaseAdminController, controller 1a
6from mealie.schema.admin.email import EmailReady, EmailSuccess, EmailTest 1a
7from mealie.services.email import EmailService 1a
9router = APIRouter(prefix="/email") 1a
12@controller(router) 1a
13class AdminEmailController(BaseAdminController): 1a
14 @router.get("", response_model=EmailReady) 1a
15 async def check_email_config(self): 1a
16 """Get general application information"""
17 return EmailReady(ready=self.settings.SMTP_ENABLE)
19 @router.post("", response_model=EmailSuccess) 1a
20 async def send_test_email( 1a
21 self,
22 data: EmailTest,
23 accept_language: Annotated[str | None, Header()] = None,
24 ):
25 service = EmailService(locale=accept_language)
26 status = False
27 error = None
29 try:
30 status = service.send_test_email(data.email)
31 except Exception as e:
32 self.logger.error(e)
33 error = str(e)
35 return EmailSuccess(success=status, error=error)