Metadata-Version: 2.4
Name: forge-mvc-mail
Version: 1.0.0rc2
Summary: Forge mail — composition d'emails, transports interchangeables, templates Jinja et CLI mail:*.
Author: Roger Lequette
License-Expression: LicenseRef-Forge-Proprietary
Project-URL: Homepage, https://github.com/caucrogeGit/Forge
Project-URL: Repository, https://github.com/caucrogeGit/Forge
Project-URL: Documentation, https://forgemvc.com/docs/forge/
Keywords: python,mvc,forge,mail,email,smtp
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: forge-mvc<2,>=1.0.0rc2
Requires-Dist: jinja2<4,>=3.1
Dynamic: license-file

# forge-mvc-mail

Opt-in Forge pour l'**envoi d'emails**. Extrait du core (ADR-022) : le core ne
contient que les primitives générales ; l'email est une brique spécialisée,
optionnelle.

## Contenu

- `MailMessage` : composition d'un message (destinataires, sujet, texte, HTML).
- Transports interchangeables : `ConsoleTransport` (affichage), `SmtpTransport`
  (SMTP réel), `LogTransport`, `NullTransport`, `FakeTransport` (tests).
- `MailTemplateRenderer` : rendu de templates d'email via Jinja2.
- `Mailer` : orchestration envoi + journalisation (`MailLogger`).
- `MailConfig` : configuration depuis l'environnement.
- CLI `mail:init`, `mail:test`, `mail:render`, `mail:doctor`, `mail:logs`.

## Installation

```bash
pip install --pre forge-mvc-mail
```

## Usage

```python
from forge_mvc_mail import Mailer, MailMessage, ConsoleTransport

mailer = Mailer(transport=ConsoleTransport())
mailer.send(MailMessage(
    subject="Bienvenue",
    to="client@example.com",
    body_text="Merci de votre inscription.",
))
```

Le transport est interchangeable : `ConsoleTransport` (développement),
`SmtpTransport` (SMTP réel), `LogTransport`, `FakeTransport` (tests).
En production, `MailConfig` lit la configuration SMTP depuis l'environnement.

Le parcours pédagogique `welcome-mail` (documentation `docs/starters/welcome-mail/`)
montre l'usage pas à pas.
