示例#1
0
        public bool SendEmail(bool save)
        {
            bool bRet       = false;
            bool bEnableSSL = Utils.ParseBoolSafe(enableSSL);

            if (save)
            {
                SaveEmail();
            }

            try
            {
                MailMessage mail = new MailMessage(FromAddress, ToAddress);
                mail.Subject    = Subject;
                mail.Body       = Message + "<br />From: " + IP;
                mail.IsBodyHtml = true;

                if (AttachedFile != null)
                {
                    Stream stream = new MemoryStream(AttachedFile);
                    mail.Attachments.Add(new Attachment(stream, FileName));
                }
                ServicePointManager.Expect100Continue = false;
                SmtpClient sc = new SmtpClient();
                sc.Host      = SMTPServer;
                sc.EnableSsl = bEnableSSL;
                NetworkCredential cred = new NetworkCredential(UserName, Password);
                sc.UseDefaultCredentials = true;
                sc.Credentials           = cred;
                sc.Port = SMTPPort;
                sc.Send(mail);
                bRet = true;
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Greylisted"))
                {
                    System.Threading.Thread.Sleep(60000);
                    bRet = SendEmail(false);
                }
                if (!bRet)
                {
                    SaveError error = new SaveError();
                    ErrorType err   = new ErrorType
                    {
                        Err_Message = ex.Message,
                        Err_Subject = "Email Failure",
                        Page        = "Email.cs",
                        Process     = "SendEmail",
                        UserID      = UserID,
                        LiteralDesc = ex.StackTrace.ToString()
                    };
                    error.ReportError(err);
                }
            }

            return(bRet);
        }
示例#2
0
        public bool SendAlert(bool save, string Body, string Email, string subject)
        {
            bool bRet       = false;
            bool bEnableSSL = Utils.ParseBoolSafe(enableSSL);

            if (save)
            {
                SaveEmail();
            }

            try
            {
                MailMessage mail = new MailMessage(ToAddress, Email);
                mail.Subject    = subject;
                mail.Body       = Body;
                mail.IsBodyHtml = true;


                ServicePointManager.Expect100Continue = false;
                SmtpClient sc = new SmtpClient();
                sc.Host      = SMTPServer;
                sc.EnableSsl = bEnableSSL;
                NetworkCredential cred = new NetworkCredential(UserName, Password);
                sc.UseDefaultCredentials = true;
                sc.Credentials           = cred;
                sc.Port = SMTPPort;
                sc.Send(mail);
                bRet = true;
            }
            catch (Exception ex)
            {
                SaveError error = new SaveError();
                ErrorType err   = new ErrorType
                {
                    Err_Message = ex.Message,
                    Err_Subject = "Email Failure",
                    Page        = "Email.cs",
                    Process     = "SendAlert",
                    UserID      = UserID,
                    LiteralDesc = ex.StackTrace.ToString()
                };
                error.ReportError(err);
            }

            return(bRet);
        }
示例#3
0
        private void SaveEmail()
        {
            EmailRepository e = new EmailRepository(UserID, "Email", "SaveEmail");

            if (toAddress == null || Subject == null)
            {
                SaveError error = new SaveError();
                ErrorType err   = new ErrorType
                {
                    Err_Message = "Subject Missing Error",
                    LiteralDesc = e.Message,
                    SQL         = "",
                    Page        = "Email.cs",
                    Process     = "SaveEmail",
                    Err_Subject = "Tracking this error - null subject or toAddress",
                    UserID      = UserID
                };
                error.ReportError(err);
            }
            e.PreserveEmail(toAddress, SenderName, Subject, Message, UserID, IP);
        }