Sparkdo.Emailing
1.0.2
dotnet add package Sparkdo.Emailing --version 1.0.2
NuGet\Install-Package Sparkdo.Emailing -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.Emailing" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.Emailing" Version="1.0.2" />
<PackageReference Include="Sparkdo.Emailing" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.Emailing --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sparkdo.Emailing, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.Emailing@1.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.Emailing&version=1.0.2
#tool nuget:?package=Sparkdo.Emailing&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sparkdo.Emailing
Sparkdo 邮件发送库,提供基于 SMTP 的邮件发送功能,支持同步/异步发送、后台队列发送和模板邮件。
功能特性
- SMTP 邮件发送:基于标准 SMTP 协议的邮件发送实现
- 多种发送方式:支持同步、异步和后台队列发送
- 模板邮件:集成文本模板引擎,支持模板化邮件内容
- 本地化支持:支持邮件内容的本地化处理
- 设置管理:通过设置系统管理 SMTP 配置参数
- 后台作业集成:与 Sparkdo 后台作业系统集成,支持异步邮件发送
- 虚拟文件系统:通过虚拟文件系统管理邮件模板资源
- 多框架支持:支持 .NET Standard 2.0 和 .NET 8.0
安装
<PackageReference Include="Sparkdo.Emailing" Version="x.x.x" />
核心组件
IEmailSender
邮件发送服务接口,提供多种邮件发送方法:
SendAsync(): 同步/异步发送邮件QueueAsync(): 将邮件添加到后台队列异步发送
EmailSenderBase
邮件发送服务基类,提供邮件发送的通用实现:
- 邮件配置管理
- 邮件发送逻辑封装
- 异常处理机制
DefaultSmtpEmailSender
默认 SMTP 邮件发送实现:
- 基于 System.Net.Mail 的 SMTP 实现
- 支持 SSL 和认证配置
- 邮件内容编码处理
IEmailSenderConfiguration
邮件发送配置接口:
- SMTP 服务器配置
- 认证信息管理
- 默认发件人设置
DefaultSmtpEmailSenderConfiguration
默认 SMTP 配置实现:
- 从设置系统读取配置
- 提供默认配置值
BackgroundEmailSendingJob
后台邮件发送作业:
- 处理队列中的邮件发送任务
- 异常重试机制
- 日志记录功能
配置选项
邮件发送功能通过设置系统进行配置,支持以下配置项:
Sparkdo.Mailing.DefaultFromAddress: 默认发件人地址Sparkdo.Mailing.DefaultFromDisplayName: 默认发件人显示名称Sparkdo.Mailing.Smtp.Host: SMTP 服务器主机Sparkdo.Mailing.Smtp.Port: SMTP 服务器端口Sparkdo.Mailing.Smtp.UserName: SMTP 用户名Sparkdo.Mailing.Smtp.Password: SMTP 密码Sparkdo.Mailing.Smtp.Domain: SMTP 域Sparkdo.Mailing.Smtp.EnableSsl: 启用 SSLSparkdo.Mailing.Smtp.UseDefaultCredentials: 使用默认凭据
扩展性
该库提供了完整的邮件发送功能实现,可以通过以下方式扩展:
- 实现自定义的
IEmailSender来替换默认邮件发送实现 - 实现自定义的
IEmailSenderConfiguration来提供不同的配置源 - 通过设置系统自定义邮件发送行为
- 使用文本模板系统创建复杂的邮件模板
代码结构说明
本项目包含以下主要组件:
邮件发送核心
IEmailSender: 邮件发送服务接口EmailSenderBase: 邮件发送服务基类DefaultSmtpEmailSender: 默认 SMTP 邮件发送实现NullEmailSender: 空邮件发送实现(用于测试)
配置管理
IEmailSenderConfiguration: 邮件发送配置接口DefaultSmtpEmailSenderConfiguration: 默认 SMTP 配置实现EmailSettingNames: 邮件设置名称常量EmailSettingProvider: 邮件设置提供者
后台作业
BackgroundEmailSendingJob: 后台邮件发送作业BackgroundEmailSendingJobArgs: 后台邮件发送作业参数
数据模型
EmailAttachment: 邮件附件AdditionalEmailSendingArgs: 附加邮件发送参数
模块配置
SparkdoEmailingModule: 邮件模块配置类
所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.5)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.5)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.5)
- Microsoft.Extensions.Configuration.Json (>= 10.0.5)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.DependencyModel (>= 10.0.5)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.5)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.5)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Localization (>= 10.0.5)
- Microsoft.Extensions.Logging (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.5)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.5)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.BackgroundJobs.Abstractions (>= 1.0.2)
- Sparkdo.Localization (>= 1.0.2)
- Sparkdo.Settings (>= 1.0.2)
- Sparkdo.TextTemplating.Abstractions (>= 1.0.2)
- Sparkdo.VirtualFileSystem (>= 1.0.2)
- System.Linq.Dynamic.Core (>= 1.7.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sparkdo.Emailing:
| Package | Downloads |
|---|---|
|
Sparkdo.MailKit
Sparkdo 邮件发送库,基于 MailKit 实现的 SMTP 邮件发送功能,支持同步/异步发送、后台队列发送和模板邮件 |
|
|
Sparkdo.SettingManagement.Application
Sparkdo 设置管理应用层,提供设置管理的应用服务实现和业务逻辑编排 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2 | 109 | 4/27/2026 |
| 1.0.2-preview.5 | 48 | 4/15/2026 |
| 1.0.2-preview.4 | 72 | 2/8/2026 |
| 1.0.2-preview.3 | 65 | 2/1/2026 |
| 1.0.2-preview.2 | 66 | 1/31/2026 |
| 1.0.2-preview.1 | 184 | 12/4/2025 |
| 1.0.1 | 339 | 11/27/2025 |
| 1.0.0 | 313 | 11/25/2025 |
| 1.0.0-preview.5 | 125 | 10/24/2025 |