mirror of
https://github.com/bitwarden/server.git
synced 2025-07-10 04:14:41 -05:00
Add SMTP Mail Tests (#5597)
* Add SMTP Mail Tests Co-authored-by: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> * Update test/Core.IntegrationTest/MailKitSmtpMailDeliveryServiceTests.cs * Add Skipped Tests for upcoming feature * Safer TCS Completion --------- Co-authored-by: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com>
This commit is contained in:
@ -34,6 +34,9 @@ public class MailKitSmtpMailDeliveryService : IMailDeliveryService
|
||||
}
|
||||
|
||||
public async Task SendEmailAsync(Models.Mail.MailMessage message)
|
||||
=> await SendEmailAsync(message, CancellationToken.None);
|
||||
|
||||
public async Task SendEmailAsync(Models.Mail.MailMessage message, CancellationToken cancellationToken)
|
||||
{
|
||||
var mimeMessage = new MimeMessage();
|
||||
mimeMessage.From.Add(new MailboxAddress(_globalSettings.SiteName, _replyEmail));
|
||||
@ -76,25 +79,37 @@ public class MailKitSmtpMailDeliveryService : IMailDeliveryService
|
||||
if (!_globalSettings.Mail.Smtp.StartTls && !_globalSettings.Mail.Smtp.Ssl &&
|
||||
_globalSettings.Mail.Smtp.Port == 25)
|
||||
{
|
||||
await client.ConnectAsync(_globalSettings.Mail.Smtp.Host, _globalSettings.Mail.Smtp.Port,
|
||||
MailKit.Security.SecureSocketOptions.None);
|
||||
await client.ConnectAsync(
|
||||
_globalSettings.Mail.Smtp.Host,
|
||||
_globalSettings.Mail.Smtp.Port,
|
||||
MailKit.Security.SecureSocketOptions.None,
|
||||
cancellationToken
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
var useSsl = _globalSettings.Mail.Smtp.Port == 587 && !_globalSettings.Mail.Smtp.SslOverride ?
|
||||
false : _globalSettings.Mail.Smtp.Ssl;
|
||||
await client.ConnectAsync(_globalSettings.Mail.Smtp.Host, _globalSettings.Mail.Smtp.Port, useSsl);
|
||||
await client.ConnectAsync(
|
||||
_globalSettings.Mail.Smtp.Host,
|
||||
_globalSettings.Mail.Smtp.Port,
|
||||
useSsl,
|
||||
cancellationToken
|
||||
);
|
||||
}
|
||||
|
||||
if (CoreHelpers.SettingHasValue(_globalSettings.Mail.Smtp.Username) &&
|
||||
CoreHelpers.SettingHasValue(_globalSettings.Mail.Smtp.Password))
|
||||
{
|
||||
await client.AuthenticateAsync(_globalSettings.Mail.Smtp.Username,
|
||||
_globalSettings.Mail.Smtp.Password);
|
||||
await client.AuthenticateAsync(
|
||||
_globalSettings.Mail.Smtp.Username,
|
||||
_globalSettings.Mail.Smtp.Password,
|
||||
cancellationToken
|
||||
);
|
||||
}
|
||||
|
||||
await client.SendAsync(mimeMessage);
|
||||
await client.DisconnectAsync(true);
|
||||
await client.SendAsync(mimeMessage, cancellationToken);
|
||||
await client.DisconnectAsync(true, cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user