示例#1
0
        //void worker_DoWork(object sender, DoWorkEventArgs e)
        //{
        //    // Do the thing that needs doing every few minutes...
        //    // (Omitted for simplicity is sentinel logic to prevent re-entering
        //    //  DoWork() if the previous "tick" has for some reason not completed.)

        //}

        public void Process()
        {
            try
            {
                var emailService = new EmailServices();
                var credentials  = emailService.GetCredentials();
                emailService.ReadPop3Emails(credentials);
                emailService.ExecuteScheduledJob("Processrawdata");
                emailService.ExecuteScheduledJob("LoadAgentQueue", 1);
                emailService.SendAutoResponseMail();
            }
            catch (Exception ex)
            {
                wslog.WriteLog("ERR", ex.Message.ToString());
            }
        }
示例#2
0
        public void SendEmail(Email _ObjEmail, string AttachmentPath)
        {
            string        Username, Password, FromEmailAdress, OutHost, outEmailProtocol;
            int           OutPort        = 0;
            EmailServices emailService   = new EmailServices();
            var           _listFromEmail = emailService.GetCredentials().FirstOrDefault(x => x.SmtpFromAddress == _ObjEmail.MailFrom);

            if (_listFromEmail != null)
            {
                Username         = _listFromEmail.SmtpUser;
                Password         = _listFromEmail.SmtpPassword;
                FromEmailAdress  = _listFromEmail.SmtpFromAddress;
                outEmailProtocol = _listFromEmail.OutEmailProtocol;
                OutHost          = _listFromEmail.OutHost;
                OutPort          = _listFromEmail.OutPort;

                if (outEmailProtocol == "Exchange") // Added By Bidhan EmailProtocol == "POP3", will removed on production.
                {
                    //Email _ObjEmail = new Email();
                    //DispositionAction dispositionAction = new DispositionAction();
                    const decimal   kilobyte = 1024;
                    ExchangeService service1 = new ExchangeService(ExchangeVersion.Exchange2010_SP1)
                    {
                        Credentials = new WebCredentials(Username, Password)
                    };
                    //to add logic for itemview
                    service1.AutodiscoverUrl(FromEmailAdress, RedirectionUrlValidationCallback);
                    EmailMessage emailmessage = new EmailMessage(service1);
                    emailmessage.Body = _ObjEmail.MailBody;
                    if (_ObjEmail.MailTo != null && _ObjEmail.MailTo != "")
                    {
                        foreach (string emailTo in _ObjEmail.MailTo.Split(';'))
                        {
                            emailmessage.ToRecipients.Add(emailTo);
                        }
                    }
                    if (_ObjEmail.MailSubject != null && _ObjEmail.MailSubject != "")
                    {
                        emailmessage.Subject = Convert.ToString(_ObjEmail.MailSubject);
                    }
                    if (_ObjEmail.MailCC != null && _ObjEmail.MailCC != "")
                    {
                        foreach (string emailCC in _ObjEmail.MailCC.Split(';'))
                        {
                            emailmessage.CcRecipients.Add(emailCC);
                        }
                    }

                    if (AttachmentPath.Length > 0)
                    {
                        emailmessage.Attachments.AddFileAttachment(AttachmentPath);
                    }

                    emailmessage.Send();
                }
                else if (outEmailProtocol.ToUpper() == "SMTP")
                {
                    const decimal kilobyte = 1024;

                    MailMessage message = new MailMessage();
                    if (_ObjEmail.MailTo != null && _ObjEmail.MailTo != "")
                    {
                        foreach (string emailTo in _ObjEmail.MailTo.Split(';'))
                        {
                            message.To.Add(emailTo);
                        }
                    }
                    if (_ObjEmail.MailSubject != null && _ObjEmail.MailSubject != "")
                    {
                        message.Subject = Convert.ToString(_ObjEmail.MailSubject);
                    }
                    if (_ObjEmail.MailCC != null && _ObjEmail.MailCC != "")
                    {
                        foreach (string emailCC in _ObjEmail.MailCC.Split(';'))
                        {
                            message.CC.Add(emailCC);
                        }
                    }

                    string strMailBody = _ObjEmail.MailBody;
                    var    view        = AlternateView.CreateAlternateViewFromString(strMailBody, null, "text/html");
                    message.AlternateViews.Add(view);
                    message.From       = new MailAddress(FromEmailAdress);
                    message.IsBodyHtml = true;

                    System.Net.Mail.SmtpClient   smtp       = new System.Net.Mail.SmtpClient(OutHost);
                    System.Net.NetworkCredential smtpAuthen = new System.Net.NetworkCredential(Username, Password);
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials           = smtpAuthen;

                    if (AttachmentPath.Length > 0)
                    {
                        message.Attachments.Add(new System.Net.Mail.Attachment(AttachmentPath));
                    }

                    smtp.Send(message);
                }
            }
        }