avoid flooding logs if the email sending failed

This commit is contained in:
Laurențiu Constantin 2024-06-12 18:18:20 +03:00
parent 61fa677598
commit f765fe48b9
2 changed files with 39 additions and 5 deletions

View File

@ -22,6 +22,7 @@ namespace AppServer
private volatile DBsubsOperationManager dbsubsoperManage; private volatile DBsubsOperationManager dbsubsoperManage;
private volatile DBvehiclesManager dbvehs; private volatile DBvehiclesManager dbvehs;
private DBvehiclesManager DBvehInfo; private DBvehiclesManager DBvehInfo;
List<string> blackListAddress = new List<string>();
public static volatile Int32 LocationCheckQueuesCount = 0; public static volatile Int32 LocationCheckQueuesCount = 0;
Int64 count = 0; Int64 count = 0;
@ -410,6 +411,12 @@ namespace AppServer
if (Program.cfg.enableEmailService && !String.IsNullOrEmpty(Program.cfg.emailAddress) && !String.IsNullOrEmpty(mailAdr)) if (Program.cfg.enableEmailService && !String.IsNullOrEmpty(Program.cfg.emailAddress) && !String.IsNullOrEmpty(mailAdr))
{ {
if (blackListAddress.Contains(mailAdr))
{
Utils.WriteLine($" sendMailGeo : The email was not sent. Email address '{mailAdr}' is in blacklist ");
return;
}
try try
{ {
MailAddress from = new MailAddress(Program.cfg.emailAddress); MailAddress from = new MailAddress(Program.cfg.emailAddress);
@ -433,7 +440,10 @@ namespace AppServer
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine("Exception in sendMailGeo: ", ex.ToString()); if (ex.ToString().Contains("timed out"))
blackListAddress.Add(mailAdr);
Utils.WriteLine($"Exception in sendMailGeo: {ex.ToString()}");
} }
} }
else else
@ -447,6 +457,13 @@ namespace AppServer
{ {
if (Program.cfg.enableEmailService && !String.IsNullOrEmpty(Program.cfg.emailAddress) && !String.IsNullOrEmpty(mailAdr)) if (Program.cfg.enableEmailService && !String.IsNullOrEmpty(Program.cfg.emailAddress) && !String.IsNullOrEmpty(mailAdr))
{ {
if (blackListAddress.Contains(mailAdr))
{
Utils.WriteLine($" sendAlarmMail : The email was not sent. Email address '{mailAdr}' is in blacklist ");
return;
}
try try
{ {
MailAddress from = new MailAddress(Program.cfg.emailAddress); MailAddress from = new MailAddress(Program.cfg.emailAddress);
@ -458,12 +475,15 @@ namespace AppServer
} }
catch (Exception ex) catch (Exception ex)
{ {
if (ex.ToString().Contains("timed out"))
blackListAddress.Add(mailAdr);
Utils.WriteLine("Exception in sendMailAlarm2: {0}" + ex.ToString(), ConsoleColor.Red); Utils.WriteLine("Exception in sendMailAlarm2: {0}" + ex.ToString(), ConsoleColor.Red);
} }
} }
else else
{ {
Utils.WriteLine("Email Server not Set",ConsoleColor.Cyan); Utils.WriteLine("Email Server not Set", ConsoleColor.Cyan);
} }
} }

View File

@ -28,6 +28,8 @@ namespace AppServer
private DBvehiclesManager dbvehs; private DBvehiclesManager dbvehs;
internal DBsubsOperationManager dbsubsoperManage; internal DBsubsOperationManager dbsubsoperManage;
private DBcallPatchManager dbCallPatch; private DBcallPatchManager dbCallPatch;
private List<string> blackListAddress = new List<string>();
#region code for zone #region code for zone
private volatile static ArrayList ZoneList = new ArrayList(); private volatile static ArrayList ZoneList = new ArrayList();
private volatile static ArrayList LandList = new ArrayList(); private volatile static ArrayList LandList = new ArrayList();
@ -2150,6 +2152,13 @@ namespace AppServer
private void sendAlarmMail(string mes, string mailAdr) private void sendAlarmMail(string mes, string mailAdr)
{ {
if (blackListAddress.Contains(mailAdr))
{
Utils.WriteLine($" sendAlarmMail : The email was not sent. Email address '{mailAdr}' is in blacklist ");
return;
}
try try
{ {
MailAddress from = new MailAddress(Program.cfg.emailAddress); MailAddress from = new MailAddress(Program.cfg.emailAddress);
@ -2161,11 +2170,16 @@ namespace AppServer
} }
catch (Exception ex) catch (Exception ex)
{ {
if (ex.ToString().Contains("timed out"))
blackListAddress.Add(mailAdr);
Utils.WriteLine("Exception in sendMailAlarm: " + ex.ToString(), ConsoleColor.Red); Utils.WriteLine("Exception in sendMailAlarm: " + ex.ToString(), ConsoleColor.Red);
//Console.WriteLine(e.ToString()); //Console.WriteLine(e.ToString());
} }
} }
public void sendDailyReportMail(String PdfFile, string mailAdr) public void sendDailyReportMail(String PdfFile, string mailAdr)
{ {
try try