using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net.Mail; using System.Text.RegularExpressions; using ButterfieldGardens.Web; public partial class contact_index : System.Web.UI.Page { String _EmailCode = ""; protected void Page_Load(object sender, EventArgs e) { Navigation objNav = new Navigation(); header.InnerHtml = objNav.GetHeader(); nav.InnerHtml = objNav.GetMainNavSideMenu(); slideshow2.InnerHtml = objNav.GetRandomSlideShowImage(); subnav.InnerHtml = objNav.GetSubNavUnderMainImage(); secondary.InnerHtml = objNav.GetContactInfoForSideNav(); footer.InnerHtml = objNav.GetFooter(true, false); if (Request.QueryString.Get("n") != null) { contactForm.Attributes.Remove("action"); contactForm.Attributes.Add("action","/contact/?n=" + Request.QueryString.Get("n")); _EmailCode = Request.QueryString.Get("n"); } } protected void SendMessage(object sender, EventArgs e) { if (ValidateForm()) { if (!ProcessEmail()) { Literal lit = new Literal(); lit.Text = "There was a problem processing your request. Please try again later."; lblError.Controls.Add(lit); lblError.CssClass = "error"; lblError.Visible = true; } else { Response.Redirect("/contact/thank-you/"); } } else { Literal lit = new Literal(); lit.Text = "You have provided invalid information. Please try again."; lblError.Controls.Add(lit); lblError.CssClass = "error"; lblError.Visible = true; } } private Boolean ValidateForm() { Boolean returnVal = true; if (txtName.Text.Equals("")) { returnVal = false; } if (!txtEmail.Text.Equals("")) { String strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" + @"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" + @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; Regex re = new Regex(strRegex); if (!re.IsMatch(txtEmail.Text)) { returnVal = false; } } if (txtPhone.Text.Equals("")) { returnVal = false; } return returnVal; } private Boolean ProcessEmail() { MailMessage objMail = new MailMessage(); SmtpClient objSmtp = new SmtpClient(); try { String strHTMLMessage = ""; System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath("template.html")); strHTMLMessage = sr.ReadToEnd(); sr.Close(); strHTMLMessage = strHTMLMessage.Replace("_TIMESTAMP_", DateTime.Now.ToShortDateString()); strHTMLMessage = strHTMLMessage.Replace("_FULLNAME_", txtName.Text); strHTMLMessage = strHTMLMessage.Replace("_MAILADDRESS_", txtAddress.Text); strHTMLMessage = strHTMLMessage.Replace("_CITY_", txtCity.Text); strHTMLMessage = strHTMLMessage.Replace("_STATE_", txtState.Text); strHTMLMessage = strHTMLMessage.Replace("_ZIP_", txtZip.Text); strHTMLMessage = strHTMLMessage.Replace("_EMAILADDRESS_", txtEmail.Text); strHTMLMessage = strHTMLMessage.Replace("_PHONE_", txtPhone.Text); strHTMLMessage = strHTMLMessage.Replace("_MOVE_", ddHowSoon.SelectedValue); strHTMLMessage = strHTMLMessage.Replace("_HEAR_", txtHowDidYouHear.Text.Replace("\n","
")); strHTMLMessage = strHTMLMessage.Replace("_COMMENT_", txtComment.Text.Replace("\n", "
")); objMail.From = new MailAddress("website@butterfieldgardens.com", "ButterfieldGardensMO.com"); objMail.Priority = MailPriority.Normal; objMail.ReplyTo = new MailAddress(txtEmail.Text, txtName.Text); objMail.Subject = "Contact Us Email :: ButterfieldGardensMo.com"; objMail.To.Add(new MailAddress(GetStaffEmail(_EmailCode))); objMail.IsBodyHtml = true; objMail.Body = strHTMLMessage; objSmtp.Send(objMail); objMail.Dispose(); return true; } catch (Exception mailException) { return false; } } private String GetStaffEmail(String Code) { String sEmailAddress = ""; switch (Code) { case "bret": sEmailAddress = "bret@butterfieldgardensmo.com"; break; case "matt": sEmailAddress = "matt@butterfieldgardensmo.com"; break; case "chris": sEmailAddress = "chris@butterfieldgardensmo.com"; break; case "nancy": sEmailAddress = "nancy@butterfieldgardensmo.com"; break; case "rich": sEmailAddress = "rich@butterfieldgardensmo.com"; break; case "pixeliq": sEmailAddress = "pixeliq@butterfieldgardensmo.com"; break; default: sEmailAddress = "info@butterfieldgardensmo.com"; break; } return sEmailAddress; } }