Отправка уведомления по электронной почте при ошибке в C#

#c# #asp.net

Вопрос:

Я настроил эту попытку/перехват, и я хочу отправить сообщение об ошибке на свою электронную почту, когда что-то пойдет не так, например, будет введен неверный пароль. Я знаю, что у меня все в порядке, но я не получаю электронное письмо, когда я принудительно изменяю свой конфигурационный файл. Я не получаю никаких ошибок, когда запускаю это, поэтому я предполагаю, что это должно быть что-то маленькое. Кто-нибудь видит какие-либо очевидные ошибки, которые я допустил? Дайте мне знать, если потребуется дополнительная информация.

Заранее спасибо…изучаю тонны C#, но пока еще не освоил.

 try
            {
                _arrivals = new ArrivalsService();

                _configuration = new Configuration(xmlMessage);

                //process summary or detail
                if (_configuration.IncludeHODetails == true)
                {
                    throw new Exception("Include HOH Details is a future feature.");

                    //ProcessArrivalDetails(_configuration);
                }
                else
                    ProcessArrivalSummary(_configuration);

                UpdateLastRunDate(_configuration.ClientId, _configuration.LastRunDateId, DateTime.Now);
            }
            catch (Exception ex)
            {
                if (_configuration == null)
                {
                    string[] messageTo = new[] { "aaaaaaaaaaaa@gmail.com" };
                    //string acctManagerEmail = Util.usp_GetEmailAcct(_clientId);
                    //string[] messageTo = new[] { "77777777777.com", acctManagerEmail };


                    EmailUtility.SendEmail(Util.EMAIL_FROM, messageTo,
            "Error Running Report Utility for Client: "   _configuration.DbName, "Error Message: "   ex.Message,
            Util.SMTP_SERVER, false);
                }
                throw new Exception("Error Occurred");
                
            }  
 

Вот мой файл электронной почты:

 namespace Common
{
    public class EmailUtility
    {
        public static string SMTP_SERVER;

        public static string[] GetEmailRecipientAdmin();
        public static void SendEmail(string messageFrom, string[] messageTo, string messageSubject, string messageBody, string ipAddress, bool isHtml);
        public static void SendEmail(string messageFrom, string[] messageTo, string[] messageCC, string messageSubject, string messageBody, string messageAttachmentPath, string ipAddress, bool isHtml);
        public static void SendEmail(string messageFrom, string[] messageTo, string[] messageCC, string messageSubject, string messageBody, string[] messageAttachmentPath, string ipAddress, bool isHtml);
        public static void SendEmail(string messageFrom, string messageTo, string messageSubject, string messageBody, string ipAddress, bool isHtml);
        public static void SendEmail(string messageFrom, string messageTo, string messageSubject, string messageBody, string messageAttachmentPath, string ipAddress, bool isHtml);
    }
}
 

Комментарии:

1. Что такое EmailUtility.SendEmail ? Есть ли руководство, которому вы следуете вместе с нами?

2. Я предлагаю вам начать с того, чтобы просто отправлять электронное письмо каждый раз при запуске программы и выполнять отладку через вашу программу, чтобы увидеть, что она делает.

3. Действительно ли поймано исключение? _configuration Не равно нулю? Пожалуйста, поделитесь содержанием EmailUtility.SendEmail

4. @ErmiyaEskandary добавил файл электронной почты. Я сделал _configuration == null, и это на самом деле вызвало исключение, поэтому я думаю, что это шаг в правильном направлении.

5. Вам необходимо предоставить полностью воспроизводимый пример в соответствии с рекомендациями stackoverflow