Mailozaurr
Mailozaurr is a PowerShell module that aims to provide SMTP, POP3, IMAP and probably some other ways to interact with Email. Underneath it uses MimeKit and MailKit libraries written by Jeffrey Stedfast.
Install / Use
/learn @EvotecIT/MailozaurrREADME
Mailozaurr - Modern Email Toolkit for .NET and PowerShell
Mailozaurr is available as a NuGet package and as a PowerShell module from PSGallery.
NuGet Package
PowerShell Module
Project Information
Author and Social
What it's all about
Mailozaurr provides SMTP, POP3, IMAP, Microsoft Graph mail support, and mail-format tooling for PowerShell and .NET. Underneath it uses MimeKit and MailKit libraries written by Jeffrey Stedfast.
This repository has two branches:
v1-legacy: old module generation, written in PowerShell and still maintained until V2 is finalized.v2-speedygonzales: current rewrite in C# with newer functionality and better performance.
In V2, some functionality was moved to dedicated projects:
- DNS features moved to DnsClientX.
- SPF, DKIM, DMARC, and MX validation (except download-focused functionality) moved to DomainDetective.
Core dependencies (V2)
For OAuth2 support, Mailozaurr also bundles:
Additional dependency:
Architecture notes
- Platform Architecture - layering and reuse rules for future library, PowerShell, CLI, MCP, and GUI work
- Configuration and Usage - profile model, provider setup guidance, CLI storage, recipes, and MCP usage
Additional surfaces
Mailozaurr is no longer only a library and PowerShell module. The repository now also contains shared application-layer work and headless surfaces for broader automation scenarios:
.NET libraryfor direct application and service integrationPowerShell modulefor administrators and automation usersmailozaurrexecutable for cross-platform CLI workflowsmailozaurr mcp servefor MCP-based integrations
CLI and MCP are intended to sit on top of shared Mailozaurr services instead of duplicating mailbox, draft, queue, send, and message-action behavior independently.
If you want the placement rules and longer-term cross-surface direction, see Platform Architecture. If you want practical profile setup and usage guidance for CLI and MCP, see Configuration and Usage.
CLI and MCP usage
The repository now includes a cross-platform mailozaurr executable and an MCP server hosted by that same executable.
To see the current command surface from source:
dotnet run --project Sources/Mailozaurr.Cli -- --help
After building, the executable is available at:
Sources/Mailozaurr.Cli/bin/Debug/net8.0/mailozaurr.exeon WindowsSources/Mailozaurr.Cli/bin/Debug/net8.0/mailozaurron macOS/Linux
CLI command groups
The executable currently supports:
profile ...for profile creation, bootstrap, login, auth refresh, readiness checks, summaries, validation, and secret managementdraft ...for saving, listing, exporting, importing, and deleting reusable draftssend ...for sending from a stored draft, a draft file, or direct command-line fieldsqueue ...for viewing and processing queued outbound messagesmail ...for folders, folder aliases, search, message retrieval, attachment export, mailbox actions, previews, and reusable action-plan batchesmcp servefor exposing the same shared services as MCP tools over stdio
Most list and inspection commands support --json, which makes the executable useful in scripts, CI, and other automation surfaces.
CLI examples
Create a profile and inspect it:
mailozaurr profile create --profile work-imap --kind imap --name "Work IMAP" `
--setting server=imap.example.com --setting port=993 --json
mailozaurr profile set-secret --profile work-imap --name password --value "secret" --json
mailozaurr profile summary --profile work-imap --json
mailozaurr profile test --profile work-imap --scope mailbox --json
Search and inspect mail:
mailozaurr mail folders --profile work-imap --compact --json
mailozaurr mail search --profile work-imap --folder Inbox --query Invoice --compact --json
mailozaurr mail get --profile work-imap --folder Inbox --message-id 123 --compact --json
mailozaurr mail attachments --profile work-imap --folder Inbox --message-id 123 --json
mailozaurr mail save-attachments --profile work-imap --folder Inbox --message-id 123 --path C:\Temp\Attachments --json
Draft, send, and queue mail:
mailozaurr draft save --draft weekly-update --name "Weekly update" --profile work-smtp `
--to team@example.com --subject "Weekly update" --text "Status attached." --json
mailozaurr send --draft weekly-update --json
mailozaurr queue list --compact --json
mailozaurr queue process --json
Preview and execute mailbox actions:
mailozaurr mail preview-delete --profile work-imap --folder Inbox --message-id 123 --json
mailozaurr mail delete --profile work-imap --folder Inbox --message-id 123 --confirm-token <token> --json
mailozaurr mail preview-move --profile work-imap --folder Inbox --message-id 123 --target-folder Archive --json
mailozaurr mail move --profile work-imap --folder Inbox --message-id 123 --target-folder Archive --confirm-token <token> --json
MCP server usage
Mailozaurr can also run as an MCP server over stdio:
mailozaurr mcp serve
The MCP surface is built on top of the same shared services as the CLI. Current tool areas include:
- profile and auth management
- folder and folder-alias discovery
- mail search, get, batch get, and attachment save
- draft, send, and queue operations
- mailbox action preview and execution
- action-plan import/export, execution, and stored batch management
A minimal MCP client entry typically points to the executable and passes mcp serve as arguments:
{
"command": "mailozaurr",
"args": ["mcp", "serve"]
}
If your client prefers an absolute path, point it to the built executable instead.
Skills and MCP
Skills are a good fit on top of the MCP server, but they are not a replacement for the server itself.
mailozaurr mcp serveprovides the actual mailbox and send tools- skills provide workflow guidance, safety rules, and task-specific behavior for an MCP client or agent
In practice, that means Mailozaurr should own the reusable mailbox, queue, send, and action logic, while skills can teach an agent how to use those tools safely and consistently.
This started with a single goal to replace Send-MailMessage which is deprecated/obsolete with something more modern, but since MailKit and MimeKit have lots of options why not build on that?
Support This Project
If you find this project helpful, please consider supporting its development. Your sponsorship will help the maintainers dedicate more time to maintenance and new feature development for everyone.
It takes a lot of time and effort to create and maintain this project. By becoming a sponsor, you can help ensure that it stays free and accessible to everyone who needs it.
To become a sponsor, you can choose from the following options:
Your sponsorship is completely o
