Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
                }
            }
        }