public void SendMessage(EmailDescription desc) { WriteMessageToFile(desc); return; // following values come from Web.Config file. string username = ConfigurationManager.AppSettings["emailUserName"].ToString(); string password = ConfigurationManager.AppSettings["emailPassword"].ToString(); string from = ConfigurationManager.AppSettings["emailFrom"].ToString(); string host = ConfigurationManager.AppSettings["smtpHost"].ToString(); int port = 0; bool havePort = int.TryParse(ConfigurationManager.AppSettings["smtpPort"] ?? "".ToString(), out port); bool enableSsl = true; bool haveSSL = bool.TryParse(ConfigurationManager.AppSettings["smtpSSL"] ?? "".ToString(), out enableSsl); MailMessage mm = new MailMessage(from, desc.To, desc.Subject, desc.Body); mm.IsBodyHtml = true; if (!String.IsNullOrEmpty(desc.CC)) { mm.CC.Add(desc.CC); } NetworkCredential credentials = new NetworkCredential(username, password); SmtpClient sc = havePort ? new SmtpClient(host) : new SmtpClient(host, port); sc.EnableSsl = true ;//sc.EnableSsl = haveSSL ? enableSsl : false; sc.UseDefaultCredentials = false; sc.Credentials = credentials; try { sc.Send(mm); } catch (Exception ex) { throw new ArgumentNullException("Failed to send email", ex); } }
void SendRequestResetPasswordEmail(User user) { var model = new RequestResetPasswordModel { ResetPasswordToken = Guid.NewGuid().ToString(), Email = user.Email, FullName = user.FullName }; var emailDesc = new EmailDescription { Subject = "Reset password request", To = user.Email, Body = Helper.GetEmailBody(Mail.AdminRequestResetPassword, model) }; _emailService.SendMessage(emailDesc); }
void SendActivationConfirmationEmail(User user) { var model = new RegistrationConfirmationModel { ActivationToken = user.ActivationToken.ToString(), Email = user.Email, FullName = user.FullName }; var emailDesc = new EmailDescription { Subject = "Activation email", To = user.Email, Body = Helper.GetEmailBody(Mail.AdminRegistrationConfirmation, model) }; _emailService.SendMessage(emailDesc); }
public void WriteMessageToFile(EmailDescription desc) { var path = @"c:\ConferenceAppEmails"; if (!Directory.Exists(path)) Directory.CreateDirectory(path); var timeStamp = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}.txt", DateTime.Now); using (var writetext = new StreamWriter(string.Format(@"{0}\{1}_{2}_{3}.txt", path, desc.Subject, desc.To, timeStamp))) { writetext.Write(desc.Body); } }