Skip to content

Commit

Permalink
Add Configure.Smtp.cs
Browse files Browse the repository at this point in the history
  • Loading branch information
mythz committed Sep 5, 2024
1 parent 6e88ea7 commit 2862c38
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions MyApp/Configure.Smtp.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using MyApp.ServiceInterface;

[assembly: HostingStartup(typeof(MyApp.ConfigureSmtp))]

namespace MyApp;

public class ConfigureSmtp : IHostingStartup
{
public void Configure(IWebHostBuilder builder) => builder
.ConfigureServices((context,services) => {
var smtpConfig = context.Configuration.GetSection(nameof(SmtpConfig))?.Get<SmtpConfig>();
if (smtpConfig is not null)
{
services.AddSingleton(smtpConfig);
}
})
.ConfigureAppHost(appHost => {
// Check if SMTP is configured
var smtpConfig = appHost.TryResolve<SmtpConfig>();
var log = appHost.GetApplicationServices().GetRequiredService<ILogger<ConfigureSmtp>>();
// Log if missing
if (smtpConfig is null)
{
log.LogWarning("SMTP is not configured, please configure SMTP to enable sending emails");
}
else
{
log.LogWarning("SMTP is configured with <{SmtpConfigFromEmail}> {SmtpConfigFromName}", smtpConfig.FromEmail, smtpConfig.FromName);
}
});
}

0 comments on commit 2862c38

Please sign in to comment.