public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model) { try { EmailPostActionModel emailPostActionModel = model as EmailPostActionModel; SmtpClient client = new SmtpClient(); MailMessage email = new MailMessage(); foreach (var recipient in emailPostActionModel.To) { email.To.Add(recipient); } foreach (var recipient in emailPostActionModel.Cc) { email.CC.Add(recipient); } // TODO: pass from, subject and body template as parameters email.From = new MailAddress("*****@*****.**"); email.Subject = "DXA Module Form Data"; email.Body = GenerateEmailBody(fields); client.Send(email); } catch (Exception ex) { Log.Debug(string.Format("Error while sending email: {0}", ex.Message)); throw ex; } }
public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model) { SalesforcePostActionModel sfPostActionModel = model as SalesforcePostActionModel; try { string salesforceUrl = "https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8"; NameValueCollection webToLeadFormData = new NameValueCollection(); webToLeadFormData.Add("oid", sfPostActionModel.OrganizationId); webToLeadFormData.Add("submit", "Submit"); //webToLeadFormData.Add("", ""); foreach (var field in fields) { if (field.Purpose != null) { switch (field.PurposeType) { case FieldPurposeType.Salutation: webToLeadFormData.Add("salutation", field.Value); break; case FieldPurposeType.FirstName: webToLeadFormData.Add("first_name", field.Value); break; case FieldPurposeType.LastName: webToLeadFormData.Add("last_name", field.Value); break; case FieldPurposeType.Email: webToLeadFormData.Add("email", field.Value); break; case FieldPurposeType.Company: webToLeadFormData.Add("company", field.Value); break; case FieldPurposeType.PhoneNumber: webToLeadFormData.Add("mobile", field.Value); break; case FieldPurposeType.City: webToLeadFormData.Add("city", field.Value); break; case FieldPurposeType.State: webToLeadFormData.Add("state", field.Value); break; case FieldPurposeType.Address: webToLeadFormData.Add("street", field.Value); break; default: break; } } } WebClient webclient = new WebClient(); webclient.Encoding = Encoding.UTF8; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; byte[] responseArray = webclient.UploadValues(salesforceUrl, "POST", webToLeadFormData); Log.Debug("Form data was successufully submited to SalesForce. Response: ", Encoding.ASCII.GetString(responseArray)); } catch (Exception ex) { Log.Error(string.Format("Error while posting data to SalesForce: {0}", ex.Message)); throw ex; } }
public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model) { AudienceManagerPostActionModel amPostActionModel = model as AudienceManagerPostActionModel; try { if (formData[amPostActionModel.IdentificationKeyConfig] == null) { throw new Exception("Audience Manager Identification Key Config is invalid! Cannot find such field."); } string identificationKey = formData[amPostActionModel.IdentificationKeyConfig]; Repositories.AudienceManagerRepository rep = new Repositories.AudienceManagerRepository(identificationKey, amPostActionModel.IdentificationSource, amPostActionModel.EmailConfirmationIdentifier, amPostActionModel.AddressBookId); rep.CreateContact(fields); } catch (Exception ex) { Log.Debug(string.Format("Error while saving data to Audience Manager: {0}", ex.Message)); throw ex; } }
public void ProcessForm(NameValueCollection formData, List <FormFieldModel> fields, BaseFormPostActionModel model) { try { EmailPostActionModel emailPostActionModel = model as EmailPostActionModel; List <string> emailTo = new List <string>(); string emailFrom = ConfigurationManager.AppSettings["EmailFrom_Gen_Contact"]; string emailRecipientSeparator = ConfigurationManager.AppSettings["EmailRecipientsSeparator"] ?? ";"; string EmailAppName = ConfigurationManager.AppSettings["EmailManager_AppName"]; List <string> emailCC = new List <string>(); foreach (var field in fields.Where(i => i.FieldType == FieldType.DropDown)) { if (!string.IsNullOrEmpty(field.GetEmailIds())) { emailTo.Add(field.GetEmailIds()); } } if (emailPostActionModel.To != null) { foreach (var recipient in emailPostActionModel.To) { emailTo.Add(recipient); } } if (emailPostActionModel.Cc != null) { foreach (var recipient in emailPostActionModel.Cc) { emailCC.Add(recipient); } } string emailBody = GenerateEmailBody(fields, emailPostActionModel.EmailBody); Log.Debug("The list of recipients CC {0}", emailBody); string toEmail = emailTo.Count > 0? string.Join(emailRecipientSeparator, emailTo):string.Empty; Log.Debug("The list of recipients To {0}", toEmail); string ccEmail = emailCC.Count > 0?string.Join(emailRecipientSeparator, emailCC):string.Empty; Log.Debug("The list of recipients CC {0}", ccEmail); // Write down the code to send email // SendMail.SendEMail(toEmail, emailFrom, string.Empty, ccEmail, string.Empty, emailPostActionModel.Subject, emailBody, EmailAppName, emailRecipientSeparator); } catch (Exception ex) { Log.Error(string.Format("Error while sending email: {0}", ex.Message)); } }