diff --git a/src/Easify.Notifications.Messaging.MailKit/MailKitMessagingService.cs b/src/Easify.Notifications.Messaging.MailKit/MailKitMessagingService.cs index ac2655d..6bc7bfc 100644 --- a/src/Easify.Notifications.Messaging.MailKit/MailKitMessagingService.cs +++ b/src/Easify.Notifications.Messaging.MailKit/MailKitMessagingService.cs @@ -50,14 +50,22 @@ private void EnsureOptions() if (string.IsNullOrWhiteSpace(_smtpOptions.Server)) throw new SmtpOptionsException(nameof(_smtpOptions.Server)); + + if (string.IsNullOrWhiteSpace(_smtpOptions.UserName)) + throw new SmtpOptionsException(nameof(_smtpOptions.UserName)); + + if (string.IsNullOrWhiteSpace(_smtpOptions.Password)) + throw new SmtpOptionsException(nameof(_smtpOptions.Password)); } private async Task SendEmailMessageAsync(MimeMessage message) { using (var client = new SmtpClient()) { - client.LocalDomain = _smtpOptions.LocalDomain; - await client.ConnectAsync(_smtpOptions.Server, _smtpOptions.Port, SecureSocketOptions.None); + client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12; + + await client.ConnectAsync(_smtpOptions.Server, _smtpOptions.Port, SecureSocketOptions.StartTls); + client.Authenticate(_smtpOptions.UserName, _smtpOptions.Password); await client.SendAsync(message); await client.DisconnectAsync(true); } diff --git a/src/Easify.Notifications.Messaging/Configuration/SmtpOptions.cs b/src/Easify.Notifications.Messaging/Configuration/SmtpOptions.cs index 46687b4..3944e93 100644 --- a/src/Easify.Notifications.Messaging/Configuration/SmtpOptions.cs +++ b/src/Easify.Notifications.Messaging/Configuration/SmtpOptions.cs @@ -21,4 +21,6 @@ public sealed class SmtpOptions public string Server { get; set; } public int Port { get; set; } = 25; public string LocalDomain { get; set; } + public string UserName { get; set; } + public string Password { get; set; } } \ No newline at end of file