Skip to content

Commit 3b44aed

Browse files
author
John Campion Jr
committed
v3.3.1 - update MailKit, add injected SMTP config
1 parent b167fce commit 3b44aed

4 files changed

Lines changed: 34 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## v3.3.1
4+
5+
- Added MailKit builder to use injected config to allow it to come from .NET config system
6+
- Updated to MailKit 4.3.0
7+
38
## v3.3
49

510
- Added support for mailgun templates - [Original Source/Credit](https://github.com/gps-lasrol/FluentEmail/tree/support-mailgun-templates)

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
1212

1313
<PackageLicenseExpression>MIT</PackageLicenseExpression>
14-
<Version>3.3.0</Version>
14+
<Version>3.3.1</Version>
1515

1616

1717
<PublishRepositoryUrl>true</PublishRepositoryUrl>

src/Senders/FluentEmail.MailKit/FluentEmail.MailKit.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="MailKit" Version="3.5.0" />
19+
<PackageReference Include="MailKit" Version="4.3.0" />
20+
<PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" />
21+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
2022
</ItemGroup>
2123
</Project>

src/Senders/FluentEmail.MailKit/FluentEmailMailKitBuilderExtensions.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
using FluentEmail.Core.Interfaces;
22
using FluentEmail.MailKitSmtp;
33
using MailKit;
4+
using MailKit.Security;
45
using Microsoft.Extensions.DependencyInjection.Extensions;
6+
using Microsoft.Extensions.Options;
57

68
namespace Microsoft.Extensions.DependencyInjection
79
{
@@ -17,5 +19,28 @@ public static FluentEmailServicesBuilder AddMailKitSender(this FluentEmailServic
1719
builder.Services.TryAdd(ServiceDescriptor.Scoped<ISender>(_ => new MailKitSender(smtpClientOptions, protocolLogger)));
1820
return builder;
1921
}
22+
public static FluentEmailServicesBuilder AddMailKitSender(this FluentEmailServicesBuilder builder, string configPath = "SmtpClientOptions")
23+
{
24+
builder.Services.AddOptions<SmtpClientOptions>().BindConfiguration(configPath);
25+
builder.Services.TryAddScoped<SmtpClientOptions>(resolver =>
26+
{
27+
var smtpOptions = resolver.GetRequiredService<IOptions<SmtpClientOptions>>();
28+
if (smtpOptions.Value is null)
29+
{
30+
throw new System.Exception("SmtpClientOptions is null");
31+
}
32+
if (smtpOptions.Value.User is not null && smtpOptions.Value.Password is not null)
33+
{
34+
smtpOptions.Value.RequiresAuthentication = true;
35+
smtpOptions.Value.UseSsl = true;
36+
if (smtpOptions.Value.SocketOptions is null)
37+
smtpOptions.Value.SocketOptions = SecureSocketOptions.StartTls;
38+
}
39+
return smtpOptions.Value;
40+
});
41+
builder.Services.TryAddScoped<ISender, MailKitSender>();
42+
return builder;
43+
}
44+
2045
}
2146
}

0 commit comments

Comments
 (0)