private EMailDataContext SendEmailInternal(EMailDataContext mailData) { if (mailData == null) { throw new ArgumentNullException("Mail data cannot be null."); } if (mailData.AgentId == null) { throw new ArgumentNullException("AgentId cannot be null"); } AgentsManager manager = AgentsManager.GetManager(); AgentItem agent = manager.GetAgent(mailData.AgentId); string fromEmail = mailData.FromEmail; string fromName = mailData.FromName; try { // Replace some of the variables depending on your settings SmtpClient smtpClient = new SmtpClient(); var smtpSettings = Config.Get <SystemConfig>().SmtpSettings; smtpClient.Host = smtpSettings.Host; smtpClient.Port = smtpSettings.Port; smtpClient.Credentials = new NetworkCredential(smtpSettings.UserName, smtpSettings.Password); MailAddress senderMail = new MailAddress(fromEmail, fromName); MailAddress agentMail = new MailAddress(agent.Email, agent.Title); MailMessage message = new MailMessage(senderMail, agentMail); message.Subject = "Real estate contact form response."; message.Body = mailData.Message; message.IsBodyHtml = false; smtpClient.Send(message); if (mailData.SendCopy) { MailAddress realEstateMail = new MailAddress(smtpSettings.DefaultSenderEmailAddress, "Real Estate"); MailMessage copy = new MailMessage(realEstateMail, senderMail); copy.Subject = "Copy from message sent to " + agent.Email; copy.Body = mailData.Message; smtpClient.Send(copy); } mailData.HasSentMail = true; } catch (Exception) { mailData.HasSentMail = false; } return(mailData); }
public override void Configure(IFieldDefinition definition) { base.Configure(definition); var aManager = AgentsManager.GetManager(); var agents = aManager.GetAgents().OrderBy(a => a.Title).Where(a => a.Status == Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live); if (agents != null) { this.RenderChoicesAs = Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.DropDown; // // or you can use Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.CheckBoxes for multiple choice this.Choices.Clear(); foreach (var agent in agents) { var choice = new ChoiceItem(); choice.Value = agent.Id.ToString(); choice.Text = agent.Title; choice.Enabled = true; this.Choices.Add(choice); } } }