Don't send emails in dev

This commit is contained in:
Chase Tucker 2024-03-29 15:10:35 -07:00
parent a86fbbbea0
commit fd23214ef7

View File

@ -13,12 +13,15 @@ public interface ISmtpService {
public class SmtpService : ISmtpService { public class SmtpService : ISmtpService {
private ILogger<SmtpService> _logger; private ILogger<SmtpService> _logger;
private ISmtpClientWrapper _smtpClient; private ISmtpClientWrapper _smtpClient;
private string _environmentName;
public SmtpService(ILogger<SmtpService> logger, ISmtpClientWrapper smtpClient) { public SmtpService(ILogger<SmtpService> logger, ISmtpClientWrapper smtpClient) {
_logger = logger ?? _logger = logger ??
throw new ArgumentNullException("ILogger not injected"); throw new ArgumentNullException("ILogger not injected");
_smtpClient = smtpClient ?? _smtpClient = smtpClient ??
throw new ArgumentNullException("SmtpClient not injected"); throw new ArgumentNullException("SmtpClient not injected");
_environmentName = Environment.GetEnvironmentVariable("FabApprovalEnvironmentName") ??
throw new ArgumentNullException("FabApprovalEnvironmentName environment variable not found");
} }
public async Task<bool> SendEmail(IEnumerable<MailAddress> recipients, public async Task<bool> SendEmail(IEnumerable<MailAddress> recipients,
@ -37,6 +40,7 @@ public class SmtpService : ISmtpService {
bool messageWasSent = false; bool messageWasSent = false;
try { try {
if (!_environmentName.ToLower().Equals("development")) {
int remainingRetries = maxRetries; int remainingRetries = maxRetries;
while (!messageWasSent && remainingRetries > 0) { while (!messageWasSent && remainingRetries > 0) {
try { try {
@ -61,6 +65,9 @@ public class SmtpService : ISmtpService {
_logger.LogError($"Message not sent successfully. Exception: {ex.Message}"); _logger.LogError($"Message not sent successfully. Exception: {ex.Message}");
} }
} }
} else {
messageWasSent = true;
}
} catch (Exception ex) { } catch (Exception ex) {
_logger.LogError($"An exception occurred when attempting to send notification. Exception: {ex.Message}"); _logger.LogError($"An exception occurred when attempting to send notification. Exception: {ex.Message}");
} }