Ansely.Utility.EmailSender
1.1.0
.NET Standard 2.0
dotnet add package Ansely.Utility.EmailSender --version 1.1.0
NuGet\Install-Package Ansely.Utility.EmailSender -Version 1.1.0
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="Ansely.Utility.EmailSender" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Ansely.Utility.EmailSender --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Ansely.Utility.EmailSender, 1.1.0"
#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.
// Install Ansely.Utility.EmailSender as a Cake Addin
#addin nuget:?package=Ansely.Utility.EmailSender&version=1.1.0
// Install Ansely.Utility.EmailSender as a Cake Tool
#tool nuget:?package=Ansely.Utility.EmailSender&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Ansely.Utility.EmailSender
概念:
- 一个简单方便的邮件发送包
- 可以自定义邮件模板,以便在调用具体的Send方法时直接选择某个模板并发送
使用:
1. 使用内置的邮件模板发送邮件
// 创建EmailSender实例并配置相关设置
IEmailSender sender = new EmailSender(new EmailSenderOptions
{
FromAddr = "xxx@xxx.com", // 发送源地址
Secret = "xxx", // 邮件服务器密钥
Host = "xxx" // 邮件服务器地址
});
// 创建内置邮件模板,传入邮件显示名称、邮件标题以及邮件内容
var tmp = new EmailTemplate("fromDisplayName", "subject", "body");
// 发送目的地址
var list = new List<string>
{
"xxx@xxx.com"
};
// 发送
var res = sender.Send(tmp, list);
if(res.Successed)
{
Console.WriteLine("Successful!");
}
else
{
foreach(var i in res.Errors)
{
Console.WriteLine(i.Description);
}
}
2. 自定义邮件模板
- 只需新建一个类并继承自
AbstractEmailTemplate
抽象类 - 你将重写如下3个较为重要的属性
- 另外,
AbstractEmailTemplate
抽象类中还定义了一个MailMessage
类型的属性,有关更多邮件消息的配置可自定义实现
public class CustomerEmailTemplate : AbstractEmailTemplate
{
public CustomerEmailTemplate()
{
// Do something...
this.MailMessage.IsBodyHtml = true;
}
public override string? FromDisplayName { get; protected set; }
= "xxx";
public override string? Subject { get; protected set; }
= "xxx";
public override string? Body { get; protected set; }
= "xxx";
}
3. 有关在Web应用程序中使用的范例
- 包中添加了对Web应用程序依赖注入的扩展支持。它创建了一个Scope生命周期的
IEmailSender
对象
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEmailSender(options =>
{
options.Host = builder.Configuration["Email:Host"];
options.Secret = builder.Configuration["Email:Secret"];
options.FromAddr = builder.Configuration["Email:FromAddr"];
});
- 在控制器中使用如下
public class HomeController : Controller
{
private readonly IEmailSender emailSender;
public HomeController(IEmailSender emailSender)
{
this.emailSender = emailSender;
}
}
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.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 |
---|---|---|
1.1.0 | 135 | 1/30/2023 |
Chinese notes have been added.