Live, real-network checks are an explicit release gate for every release. Each live-*
command in the console app sends a real message through a provider and prints Succeeded,
the provider message id, and details. Automated integration tests already cover every HTTP
provider against a local mock server; the live-* commands add the real network send, and
per-release results are published in the release notes rather than tracked in this page.
Run any command from the repository root:
dotnet run --project MailForge.Demo -- <command> [args]
| Provider | Command | Arguments | Env vars (fallback) |
|---|---|---|---|
| SMTP | live-smtp |
[host] [port] [to] |
— |
| Resend | live-resend |
[apiKey] [to] |
RESEND_API_KEY |
| Amazon SES | live-ses |
[region] [to] |
AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY |
| Postmark | live-postmark |
[serverToken] [to] |
POSTMARK_SERVER_TOKEN |
| Mailgun | live-mailgun |
[apiKey] [domain] [to] |
MAILGUN_API_KEY, MAILGUN_DOMAIN |
| Brevo | live-brevo |
[apiKey] [to] |
BREVO_API_KEY |
| ZeptoMail | live-zeptomail |
[sendApiKey] [to] |
ZEPTOMAIL_SEND_API_KEY |
| Azure CS | live-azurecs |
[endpoint] [accessKey] [sender] [to] |
AZURE_COMMUNICATION_ENDPOINT, AZURE_COMMUNICATION_ACCESS_KEY, AZURE_COMMUNICATION_SENDER |
| Telegram | live-telegram |
[botToken] [chatId] |
TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID |
| Webhook | live-webhook |
[url] [payload] |
WEBHOOK_URL |
Recipient / sender defaults: LIVE_TO picks the recipient for every command (default
recipient@example.com); LIVE_FROM picks the sender (default sender@example.com).
Set either environment variable to override the default for a run.
Every email test message carries: subject, HTML + text bodies, one tag (purpose=live-test),
and one text attachment (note.txt). The Telegram and Webhook commands send a non-email
payload; the attachment and tag details apply to the email commands.
For the SMTP command without a real server, use smtp4dev:
dotnet run --project MailForge.Demo -- live-smtp 127.0.0.1 25 you@example.com
Expect Succeeded: True and a message id. SMTP has no provider-level validation; confirm
delivery by inspecting the smtp4dev web UI.
X-MailForge-Signature HMAC-SHA256 digest.dotnet pack builds all thirteen packages; inspect each nupkg for README, LICENSE.docfx metadata + docfx build succeed with zero warnings; generated API reflects the
supported surface (no internal members).live-* commands return Succeeded against real accounts; the automated
integration suite stays green; results published in the release notes.main.