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" />
                    
Directory.Packages.props
<PackageReference Include="Sparkdo.Emailing" />
                    
Project file
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
                    
#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
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.Emailing&version=1.0.2
                    
Install as a Cake Tool

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: 启用 SSL
  • Sparkdo.Mailing.Smtp.UseDefaultCredentials: 使用默认凭据

扩展性

该库提供了完整的邮件发送功能实现,可以通过以下方式扩展:

  1. 实现自定义的 IEmailSender 来替换默认邮件发送实现
  2. 实现自定义的 IEmailSenderConfiguration 来提供不同的配置源
  3. 通过设置系统自定义邮件发送行为
  4. 使用文本模板系统创建复杂的邮件模板

代码结构说明

本项目包含以下主要组件:

邮件发送核心

  • IEmailSender: 邮件发送服务接口
  • EmailSenderBase: 邮件发送服务基类
  • DefaultSmtpEmailSender: 默认 SMTP 邮件发送实现
  • NullEmailSender: 空邮件发送实现(用于测试)

配置管理

  • IEmailSenderConfiguration: 邮件发送配置接口
  • DefaultSmtpEmailSenderConfiguration: 默认 SMTP 配置实现
  • EmailSettingNames: 邮件设置名称常量
  • EmailSettingProvider: 邮件设置提供者

后台作业

  • BackgroundEmailSendingJob: 后台邮件发送作业
  • BackgroundEmailSendingJobArgs: 后台邮件发送作业参数

数据模型

  • EmailAttachment: 邮件附件
  • AdditionalEmailSendingArgs: 附加邮件发送参数

模块配置

  • SparkdoEmailingModule: 邮件模块配置类

所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。

Product 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.

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