Пример #1
0
        private void SendMail(EMessageAction action, EMessageStyle style, string name, DateTime date)
        {
            PlainTextMessage mess    = new PlainTextMessage(action, style, name, date);
            HTMLMessage      htmmess = new HTMLMessage(action, style, name, date);

            MailMessage mailMessage = new MailMessage();

            // Direciones
            mailMessage.From = new MailAddress(_source);
            mailMessage.To.Add(_destination);

            // Asunto
            mailMessage.Subject = mess.Subject;
            // Cuerpo en texto plano
            mailMessage.Body = mess.Body;

            // Add HTML View
            AlternateView altHtml = AlternateView.CreateAlternateViewFromString(htmmess.Body, null, "text/html");

            mailMessage.AlternateViews.Add(altHtml);

            try
            {
                EnviaEmail(mailMessage);
            }

            catch (Exception ex)
            {
                Builder.Output(string.Format("{0}.SendMail: Ocurrió una excepción: {1}", ClassName, ex.Message), TraceEventType.Error);
                throw ex;
            }
        }
Пример #2
0
        private void SendMail(EMessageAction action, DateTime date, ClientData client)
        {
            // incorporar el estilo en dependencia de la accion
            EMessageStyle style;

            switch (action)
            {
            case EMessageAction.Timeout:
            case EMessageAction.Restart:
                style = EMessageStyle.Alert;
                break;

            case EMessageAction.Dead:
                style = EMessageStyle.Alarm;
                break;

            case EMessageAction.SysStart:
            case EMessageAction.SysEnd:
            case EMessageAction.Operational:
            case EMessageAction.Pause:
            case EMessageAction.Resume:
            default:
                style = EMessageStyle.Info;
                break;
            }

            SendMail(action, style, client, date);
        }
Пример #3
0
 // Constructor
 public PlainTextMessage(EMessageAction action, EMessageStyle style, string client, DateTime date)
 {
     Action       = action;
     Style        = style;
     RealTimeDate = date;
     ClientName   = client;
 }
Пример #4
0
 private void SendMail(EMessageAction action, DateTime date)
 {
     // Para notificar eventos del sistema de monitoreo y no de los clientes
     if (action == EMessageAction.SysStart | action == EMessageAction.SysEnd)
     {
         SendMail(action, EMessageStyle.Info, "Sistema de Monitoreo", date);
     }
 }
Пример #5
0
        private void SendMail(EMessageAction action, EMessageStyle style, ClientData client, DateTime date)
        {
            PlainTextMessage mess    = new PlainTextMessage(action, style, client.Name, date);
            HTMLMessage      htmmess = new HTMLMessage(action, style, client.Name, date);

            MailMessage mailMessage = new MailMessage();

            // Direciones
            mailMessage.From = new MailAddress(_source);
            mailMessage.To.Add(_destination);

            // Asunto
            mailMessage.Subject = mess.Subject;
            // Cuerpo en texto plano
            mailMessage.Body = mess.Body;

            // Add HTML View
            AlternateView altHtml = AlternateView.CreateAlternateViewFromString(htmmess.Body, null, "text/html");

            mailMessage.AlternateViews.Add(altHtml);

            // Incorporar adjunto si esta configurado en el cliente
            // y es una accion Timeout o Dead
            bool UseAttach = client.LogAttachEnabled && (action == EMessageAction.Timeout) || (action == EMessageAction.Dead);

            FileStream fs = null;

            if (UseAttach && File.Exists(client.LogFilePath))
            {
                fs = new FileStream(client.LogFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                mailMessage.Attachments.Add(new Attachment(fs, "Archivo Log", "text/plain"));
            }

            try
            {
                EnviaEmail(mailMessage);
            }

            catch (Exception ex)
            {
                Builder.Output(string.Format("{0}.SendMail: Ocurrió una excepción: {1}", ClassName, ex.Message), TraceEventType.Error);
                throw ex;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
        }
Пример #6
0
 public RequestSendEmail(EMessageAction action, DateTime date, ClientData client)
 {
     Action = action;
     Date   = date;
     Client = client;
 }
Пример #7
0
 public RequestSendEmail(EMessageAction action, DateTime date)
 {
     Action = action;
     Date   = date;
     Client = null;
 }
Пример #8
0
 public HTMLMessage(EMessageAction action, EMessageStyle style, string client, DateTime date)
     : base(action, style, client, date)
 {
 }