public ActionResult CoverDetails(Models.CoverDetailsModel submittedCoverDetails) { //Check if the current session has completed pre-req if (this.Session[cPersonalDetails] == null) { return(RedirectToAction("PersonalDetails")); } //Check if a Submission has already been done if (SessionIsComplete()) { return(View("SubmissionCompleted")); } //Check if current Post details are valid. if (submittedCoverDetails != null && this.ModelState.IsValid) { var personalDetails = Session[cPersonalDetails] as Models.PersonalDetailsModel; var mail = CreateMail(personalDetails, submittedCoverDetails); using (var mc = new System.Net.Mail.SmtpClient()) { mc.Send(mail); } CompleteSession(); return(View("SubmissionCompleted")); } return(View(submittedCoverDetails)); }
private static string CreateMailBody(Models.PersonalDetailsModel personalDetails, Models.CoverDetailsModel coverDetails) { //Gonna do a lot of append stuff for building a text email, // so totally not gonna do "string += string" var sb = new System.Text.StringBuilder(); sb.AppendLineFormat("New submission from \"{0} {1}\"", personalDetails.FirstName, personalDetails.LastName); sb.AppendLine(); sb.AppendLineFormat("Email address: {0}", personalDetails.EmailAddress); sb.AppendLineFormat("Primary phone Number: {0}", personalDetails.PrimaryPhoneNumber); sb.AppendLine(); sb.AppendLine("Reason for applying:"); sb.AppendLine(coverDetails.ReasonForApplying); sb.AppendLine(); sb.AppendLine("Why should we hire you:"); sb.AppendLine(coverDetails.ReasonForAcceptance); return(sb.ToString()); }
private static System.Net.Mail.MailMessage CreateMail(Models.PersonalDetailsModel personalDetails, Models.CoverDetailsModel coverDetails) { var mailTo = ConfigurationManager.AppSettings[cMailTo] ?? string.Empty; var mailFrom = ConfigurationManager.AppSettings[cMailFrom] ?? string.Empty; var mailSubject = ConfigurationManager.AppSettings[cMailSubject] ?? string.Empty; //Create a shorter objectRef for smaller code :) var attachFile = coverDetails.CurriculumVitae; //Create the Mail Object var mail = new System.Net.Mail.MailMessage(mailFrom, mailTo); mail.Subject = mailSubject; mail.IsBodyHtml = false; mail.Body = CreateMailBody(personalDetails, coverDetails); mail.Attachments.Add(new System.Net.Mail.Attachment(attachFile.InputStream, attachFile.FileName)); return(mail); }