protected void Page_Load(object sender, EventArgs e) { IntroText.Text = ExtractBodyFromHtmlString(parameters.GetParameter <string>("IntroText")); useCaptcha = parameters.GetParameter <bool>("UseCaptcha"); ValidationSummary.HeaderText = StringResourceSystemFacade.GetString("Composite.Forms.Renderer", "Composite.Forms.ValidationSummary.HeaderText"); var sendButtonLabel = parameters.GetParameter <string>("SendButtonLabel"); if (sendButtonLabel != string.Empty) { Send.Text = GetLocalized(sendButtonLabel); } var resetButtonLabel = parameters.GetParameter <string>("ResetButtonLabel"); Reset.Value = GetLocalized(resetButtonLabel); if (resetButtonLabel == string.Empty) { Reset.Visible = false; } FormsRenderer.InsertForm(this.Fields, parameters); }
protected void Send_Click(object sender, EventArgs e) { try { if (FormsRenderer.SubmitForm(parameters, CaptchaInput.Text)) { var responseText = parameters.GetParameter <string>("ResponseText"); var responsePageUrl = parameters.GetParameter <string>("ResponseUrl"); if (!string.IsNullOrEmpty(responsePageUrl)) { Response.Redirect(responsePageUrl); } IntroText.Text = responseText; Fields.Visible = false; FieldSet.Visible = false; Captcha.Visible = false; } } catch (Exception ex) { throw ex; } }
public static string SendEmail(string ResponseText, string From, string To, string Cc, string Subject) { var newDataField = typeof(FormsRenderer).GetField("newData", BindingFlags.NonPublic | BindingFlags.Static); IData newData = (IData)newDataField.GetValue(null); var page = HttpContext.Current.Handler as Page; var attachments = new List <Attachment>(); if (page != null) { foreach (string fileName in page.Request.Files) { var file = page.Request.Files[fileName]; if (file.FileName == string.Empty) { continue; } var filename = NormalizeFilename(Path.GetFileName(file.FileName)); attachments.Add(new Attachment(file.InputStream, filename, file.ContentType) { NameEncoding = Encoding.ASCII }); } } XElement inputXml = FormsRenderer.GetXElement(newData); XDocument mailBody = new XDocument(); XslCompiledTransform xslTransform = new XslCompiledTransform(); xslTransform.Load(FormsRenderer.FormsRendererLocalPath + "Xslt/MailBody.xslt"); using (var writer = mailBody.CreateWriter()) { xslTransform.Transform(inputXml.CreateReader(), writer); } MailMessage msgMail = new MailMessage(); try { msgMail.From = new MailAddress(From); } catch (Exception e) { LoggingService.LogError(string.Format("Mail sending(From: '{0}')", From), e.Message); throw e; } try { msgMail.To.Add(To); } catch (Exception e) { LoggingService.LogError(string.Format("Mail sending(To: '{0}')", To), e.Message); throw e; } if (!string.IsNullOrEmpty(Cc)) { try { msgMail.CC.Add(Cc); } catch (Exception e) { LoggingService.LogError(string.Format("Mail sending(Cc: '{0}')", Cc), e.Message); throw e; } } foreach (var attachment in attachments) { try { msgMail.Attachments.Add(attachment); } catch (Exception e) { LoggingService.LogError(string.Format("Mail sending(Attachment: '{0}')", attachment.Name), e.Message); throw e; } } try { msgMail.Subject = Subject; msgMail.IsBodyHtml = true; msgMail.Body = mailBody.ToString(); SmtpClient client = new SmtpClient(); client.Send(msgMail); } catch (Exception e) { throw new InvalidOperationException( "Unable to send mail. Please ensure that web.config has correct /configuration/system.net/mailSettings: " + e.Message); } return(ResponseText); }