Set timeout for sending email

Closes #6171
This commit is contained in:
Mark McDowall 2021-04-09 10:38:16 -07:00 committed by Qstick
parent 7de2c8d41f
commit b67f6b98ae
1 changed files with 19 additions and 17 deletions

View File

@ -65,6 +65,23 @@ namespace NzbDrone.Core.Notifications.Email
return new ValidationResult(failures);
}
public ValidationFailure Test(EmailSettings settings)
{
const string body = "Success! You have properly configured your email notification settings";
try
{
SendEmail(settings, "Radarr - Test Notification", body);
}
catch (Exception ex)
{
_logger.Error(ex, "Unable to send test email");
return new ValidationFailure("Server", "Unable to send test email");
}
return null;
}
private void SendEmail(EmailSettings settings, string subject, string body, bool htmlBody = false)
{
var email = new MimeMessage();
@ -101,6 +118,8 @@ namespace NzbDrone.Core.Notifications.Email
{
using (var client = new SmtpClient())
{
client.Timeout = 10000;
var serverOption = SecureSocketOptions.Auto;
if (settings.RequireEncryption)
@ -138,23 +157,6 @@ namespace NzbDrone.Core.Notifications.Email
}
}
public ValidationFailure Test(EmailSettings settings)
{
const string body = "Success! You have properly configured your email notification settings";
try
{
SendEmail(settings, "Radarr - Test Notification", body);
}
catch (Exception ex)
{
_logger.Error(ex, "Unable to send test email");
return new ValidationFailure("Server", "Unable to send test email");
}
return null;
}
private MailboxAddress ParseAddress(string type, string address)
{
try