SquidStd.Mail.MailKit
0.25.0
dotnet add package SquidStd.Mail.MailKit --version 0.25.0
NuGet\Install-Package SquidStd.Mail.MailKit -Version 0.25.0
<PackageReference Include="SquidStd.Mail.MailKit" Version="0.25.0" />
<PackageVersion Include="SquidStd.Mail.MailKit" Version="0.25.0" />
<PackageReference Include="SquidStd.Mail.MailKit" />
paket add SquidStd.Mail.MailKit --version 0.25.0
#r "nuget: SquidStd.Mail.MailKit, 0.25.0"
#:package SquidStd.Mail.MailKit@0.25.0
#addin nuget:?package=SquidStd.Mail.MailKit&version=0.25.0
#tool nuget:?package=SquidStd.Mail.MailKit&version=0.25.0
<h1 align="center">SquidStd.Mail.MailKit</h1>
MailKit-backed IMAP/POP3 provider for SquidStd.Mail. Polls a mailbox on the timer wheel and publishes a
MailReceivedEvent on the IEventBus for each new message.
Install
dotnet add package SquidStd.Mail.MailKit
Usage
using DryIoc;
using SquidStd.Mail.Abstractions.Data.Config;
using SquidStd.Mail.Abstractions.Types.Mail;
using SquidStd.Mail.MailKit.Extensions;
container.AddMail(new MailOptions
{
Protocol = MailProtocolType.Imap,
Host = "imap.example.com",
Port = 993,
UseSsl = true,
Username = "user@example.com",
Password = "secret",
PollIntervalSeconds = 30,
IncludeRawEml = true
});
Listen with an IAsyncEventListener<MailReceivedEvent> registered on the IEventBus. IMAP marks messages
\Seen after fetch (configurable); POP3 dedups by UIDL and can delete after download.
Sending (SMTP)
using DryIoc;
using SquidStd.Mail.Abstractions.Data;
using SquidStd.Mail.Abstractions.Data.Config;
using SquidStd.Mail.Abstractions.Interfaces;
using SquidStd.Mail.MailKit.Extensions;
container.AddMailSender(new SmtpOptions
{
Host = "smtp.example.com",
Port = 587,
UseSsl = false,
Username = "user@example.com",
Password = "secret",
DefaultFrom = new MailAddress("App", "app@example.com")
});
var sender = container.Resolve<IMailSender>();
await sender.SendAsync(new OutgoingMailMessage
{
To = [new MailAddress("Bob", "bob@example.com")],
Subject = "Welcome",
HtmlBody = "<p>Hello!</p>"
});
MailSentEvent / MailSendFailedEvent are published on the IEventBus; failures throw MailSendException.
Key types
| Type | Purpose |
|---|---|
MailRegistrationExtensions |
AddMail(...) registration (IMAP/POP3 polling). |
MailSenderRegistrationExtensions |
AddMailSender(...) registration (SMTP). |
ImapMailReader / Pop3MailReader |
IMailReader implementations. |
MailKitMailSender |
IMailSender implementation over SMTP. |
Related
- Tutorial: Email
License
MIT - part of SquidStd.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MailKit (>= 4.17.0)
- SquidStd.Mail.Abstractions (>= 0.25.0)
- SquidStd.Services.Core (>= 0.25.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.25.0 | 70 | 7/6/2026 |
| 0.24.1 | 72 | 7/6/2026 |
| 0.24.0 | 69 | 7/6/2026 |
| 0.23.0 | 71 | 7/4/2026 |
| 0.22.0 | 71 | 7/4/2026 |
| 0.21.0 | 69 | 7/3/2026 |
| 0.20.0 | 69 | 7/3/2026 |
| 0.19.0 | 72 | 7/3/2026 |
| 0.18.0 | 73 | 7/3/2026 |
| 0.17.0 | 77 | 7/3/2026 |
| 0.16.0 | 74 | 7/3/2026 |
| 0.15.0 | 73 | 7/2/2026 |
| 0.14.1 | 90 | 7/2/2026 |
| 0.14.0 | 65 | 7/2/2026 |
| 0.13.0 | 71 | 7/2/2026 |
| 0.12.0 | 70 | 7/2/2026 |
| 0.11.0 | 73 | 7/2/2026 |
| 0.10.0 | 66 | 6/30/2026 |
| 0.9.0 | 96 | 6/29/2026 |
| 0.8.0 | 91 | 6/28/2026 |