//------------------------------------------------------------------------------------------------------------------------ /// <summary> /// Send Emails using smtp settings /// </summary> /// <param name="transportInfo">The transport info.</param> /// <param name="emails">The emails.</param> /// <param name="subject">The subject.</param> /// <param name="message">The message.</param> /// <param name="attachment">The attachments list. Send null in case there is no attachment</param> public void SmtpSend(SmtpInfo smtpInfo, List <string> toEmails, List <string> ccEmails, string subject, string message, List <string> attachments) { SmtpClient smtp = new SmtpClient(); Attachment updatesAttachement = null; if (smtpInfo.ProtectPassword) { smtpInfo.Password = OperationUtils.EncryptDecrypt(smtpInfo.Password); } try { smtp.Credentials = new System.Net.NetworkCredential(smtpInfo.UserName, smtpInfo.Password); smtp.Host = smtpInfo.SmtpServer; smtp.Port = smtpInfo.Port; smtp.EnableSsl = smtpInfo.SSL; smtp.Timeout = smtpInfo.TimeOut; mail = new MailMessage(); mail.From = new MailAddress(smtpInfo.UserName); foreach (string toEmail in toEmails) { if (toEmail != string.Empty) { mail.To.Add(toEmail); } } if (ccEmails != null) { foreach (string ccEmail in ccEmails) { if (ccEmail != string.Empty) { mail.CC.Add(ccEmail); } } } mail.Subject = subject; mail.IsBodyHtml = smtpInfo.IsBodyHtml; mail.Body = message; if (attachments != null) { foreach (string attachment in attachments) { if (File.Exists(attachment)) { updatesAttachement = new Attachment(attachment); mail.Attachments.Add(updatesAttachement); } else { throw new ArgumentException("One or more attachment provided are not valid"); } } } if (SendAsynchronous) { smtp.SendCompleted += new SendCompletedEventHandler(smtp_SendCompleted); smtp.SendAsync(mail, null); } else { smtp.Send(mail); } } catch (ArgumentException ex) { Console.WriteLine(ex.Message); throw ex; } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } finally { if (!SendAsynchronous) { mail.Dispose(); } if (smtpInfo.ProtectPassword) { smtpInfo.Password = OperationUtils.EncryptDecrypt(smtpInfo.Password); } if (updatesAttachement != null) { updatesAttachement.Dispose(); } } }
private void SerializeDefaultObject() { //PMAInfo pmaInfo = new PMAInfo(); pmaInfo.MailingTime = DateTime.Now.ToString("d/M/yyyy HH:mm"); pmaInfo.ReportsIntervalHours = 12; pmaInfo.ClientName = System.Environment.MachineName; pmaInfo.DisposeLogFile = false; pmaInfo.TriggerSeed = 20; pmaInfo.UseFTP = true; pmaInfo.UseSMTP = false; // EMAIL INFO emailsInfo = new Emails(); emailsInfo.EmailTo = new List<string>(); emailsInfo.EmailTo.Add("*****@*****.**"); emailsInfo.EmailCC = new List<string>(); emailsInfo.EmailCC.Add("*****@*****.**"); emailsInfo.AttachmentPath = ""; emailsInfo.Subject = "Server Report"; emailsInfo.BodyContent = "Please Find the Report Attached"; // SMTP Info smtpInfo = new SmtpInfo(); smtpInfo.ProtectPassword = true; smtpInfo.UserName = "******"; smtpInfo.Password = "******"; smtpInfo.Port = 587; smtpInfo.SmtpServer = "smtp.gmail.com"; smtpInfo.SSL = true; smtpInfo.TimeOut = 100000; //FTP Info ftpInfo = new FTPInfo(); ftpInfo.FTPServer = "ftp://202.54.213.231"; ftpInfo.FTPServerFolder = "PerformanceReports"; ftpInfo.Password = "******"; ftpInfo.Port = 21; ftpInfo.ProtectPassword = true; ftpInfo.SSL = false; ftpInfo.TimeOut = 100000; ftpInfo.UserName = "******"; SerializedInfo(); }
//-------------------------------------------------------------------------------------------- /// <summary> /// Initilizes the SMTP object. /// </summary> private void InitilizeSMTPObject() { if (SmtpInfo == null) { if (File.Exists(Path.Combine(CurrentAppConfigDir, SmtpInfo.SMTP_INFO_FILE))) { SmtpInfo = SmtpInfo.Deserialize(File.ReadAllText(Path.Combine(CurrentAppConfigDir, SmtpInfo.SMTP_INFO_FILE))); } else SmtpInfo = new SmtpInfo(); } }
private void DeserilizeObjects() { try { pmaInfo = PMAInfo.Deserialize(File.ReadAllText(Path.Combine(configManager.CurrentAppConfigDir, PMAInfo.PMA_INFO_FILE))); emailsInfo = Emails.Deserialize(File.ReadAllText(Path.Combine(configManager.CurrentAppConfigDir, Emails.EMAILS_INFO_FILE))); smtpInfo = SmtpInfo.Deserialize(File.ReadAllText(Path.Combine(configManager.CurrentAppConfigDir, SmtpInfo.SMTP_INFO_FILE))); ftpInfo = FTPInfo.Deserialize(File.ReadAllText(Path.Combine(configManager.CurrentAppConfigDir, FTPInfo.FTP_INFO_FILE))); } catch(Exception ex) { throw ex; } }