Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/admin/admin_email.py: 86%
22 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
1from typing import Annotated
3from fastapi import APIRouter, Header
5from mealie.routes._base import BaseAdminController, controller
6from mealie.schema.admin.email import EmailReady, EmailSuccess, EmailTest
7from mealie.services.email import EmailService
9router = APIRouter(prefix="/email")
12@controller(router)
13class AdminEmailController(BaseAdminController):
14 @router.get("", response_model=EmailReady)
15 async def check_email_config(self):
16 """Get general application information"""
17 return EmailReady(ready=self.settings.SMTP_ENABLE)
19 @router.post("", response_model=EmailSuccess)
20 async def send_test_email(
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)