#22185: Add Email channel MVP plugin (SMTP outbound)
docs
size: L
Cluster:
Mattermost and Zulip Enhancements
## Summary
Implements issue #22183 with an Email channel MVP.
### What was added
- New plugin: `extensions/email`
- New channel id: `email` (plugin metadata + docs integration)
- Outbound SMTP delivery via `nodemailer`
- Target normalization for:
- `user@example.com`
- `email:user@example.com`
- `mailto:user@example.com`
- Channel status probe using SMTP `verify`
- New docs page: `/channels/email`
- Channels index entry for Email
### Config (MVP)
`channels.email` supports:
- `enabled`
- `smtpHost`, `smtpPort`, `smtpSecure`
- `smtpUser`, `smtpPass`, `smtpPassEnv`
- `from`
- `subjectPrefix`
- `dmPolicy`, `allowFrom` (for policy compatibility)
## Validation
- `corepack pnpm lint`
- `corepack pnpm exec vitest run extensions/email/src/send.test.ts`
- `corepack pnpm test:fast`
## Scope note
This PR is intentionally MVP-scoped to outbound SMTP. Inbound email ingestion (IMAP/webhook) is not included yet.
Closes #22183
Most Similar PRs
#21981: feat: Add email channel plugin with channelRuntime support
by guxiaobo · 2026-02-20
66.7%
#23625: feat(plugin-sdk): Add channel development helpers and discovery met...
by guxiaobo · 2026-02-22
54.4%
#17361: feat(channels): add Tuitui (推推) channel support
by haomehaode · 2026-02-15
54.1%
#9594: feat: add SimpleX messaging channel
by dangoldbj · 2026-02-05
51.6%
#16954: feat(rocketchat): add Rocket.Chat channel plugin
by zerone0x · 2026-02-15
51.4%
#19030: feat(simplex): add SimpleX Chat channel plugin
by Bladerunner-hue · 2026-02-17
51.0%
#8084: fix(plugins): wire up message_sending hook in outbound delivery
by lailoo · 2026-02-03
50.9%
#13424: feat(whatsapp): add Newsletter/Channel JID support
by agentz-manfred · 2026-02-10
50.7%
#21505: Fastmail CLI — Fastmail email, contacts, and calendar tools (36 too...
by omarshahine · 2026-02-20
50.6%
#9906: feat: wire message_sending hook in outbound delivery
by teempai · 2026-02-05
50.6%