示例#1
0
        private void SendRejectionNotification(
            SmtpSettings smtpSettings,
            SiteSettings siteSettings,
            DateTime?requestedUtc,
            SiteUser rejectingUser,
            string rejectionReason
            )
        {
            string requestedDate = string.Empty;

            if (requestedUtc.HasValue)
            {
                requestedDate = DateTimeHelper.GetLocalTimeString(requestedUtc, SiteUtils.GetUserTimeZone(), SiteUtils.GetUserTimeOffset());
            }

            StringBuilder message = new StringBuilder();

            message.Append(MessageTemplate.GetMessage("ApprovalRequestRejectionNotification"));
            message.Replace("{Title}", news.Title);
            message.Replace("{ApprovalRequestedDate}", requestedDate);
            message.Replace("{RejectionReason}", rejectionReason);
            message.Replace("{RejectedBy}", rejectingUser.Name);

            if (!Email.IsValidEmailAddressSyntax(news.UserEmail))
            {
                //invalid address log it
                log.Error("Failed to send workflow rejection message, invalid recipient email "
                          + news.UserEmail
                          + " message was " + message.ToString());

                return;
            }

            EmailMessageTask messageTask = new EmailMessageTask(smtpSettings);

            messageTask.SiteGuid       = siteSettings.SiteGuid;
            messageTask.EmailFrom      = siteSettings.DefaultEmailFromAddress;
            messageTask.EmailFromAlias = siteSettings.DefaultFromEmailAlias;
            messageTask.EmailReplyTo   = rejectingUser.Email;
            messageTask.EmailTo        = news.UserEmail;
            messageTask.UseHtml        = true;
            messageTask.Subject        = MessageTemplate.GetMessage("ApprovalRequestRejectionNotificationSubject").Replace("{SiteName}", siteSettings.SiteName);
            messageTask.HtmlBody       = message.ToString();
            messageTask.QueueTask();

            WebTaskManager.StartOrResumeTasks();

            //Email.Send(
            //            smtpSettings,
            //            siteSettings.DefaultEmailFromAddress,
            //            siteSettings.DefaultFromEmailAlias,
            //            rejectingUser.Email,
            //            news.UserEmail,
            //            string.Empty,
            //            string.Empty,
            //            MessageTemplate.GetMessage("ApprovalRequestRejectionNotificationSubject").Replace("{SiteName}", siteSettings.SiteName),
            //            message.ToString(),
            //            false,
            //            Email.PriorityNormal);
        }
        public override void UserRegisteredHandler(object sender, UserRegisteredEventArgs e)
        {
            if (e == null)
            {
                return;
            }
            if (e.SiteUser == null)
            {
                return;
            }

            SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();

            log.Debug("NotifyUserRegisteredHandler called for new user " + e.SiteUser.Email);

            if (HttpContext.Current == null)
            {
                return;
            }

            if (siteSettings.UseSecureRegistration)
            {
                return;
            }

            EmailTemplate template = EmailTemplate.Get(siteSettings.SiteId, "RegisterEmailNotification");

            if (template == null || template.Guid == Guid.Empty)
            {
                return;
            }
            string fromEmailAlias = (template.FromName.Length > 0 ? template.FromName : siteSettings.DefaultFromEmailAlias);

            SmtpSettings smtpSettings = SiteUtils.GetSmtpSettings();

            string toEmail = e.SiteUser.Email;

            if (template.ToAddresses.Length > 0)
            {
                toEmail += ";" + template.ToAddresses;
            }

            EmailMessageTask messageTask = new EmailMessageTask(smtpSettings);

            messageTask.SiteGuid       = siteSettings.SiteGuid;
            messageTask.EmailFrom      = siteSettings.DefaultEmailFromAddress;
            messageTask.EmailFromAlias = (template.FromName.Length > 0 ? template.FromName : siteSettings.DefaultFromEmailAlias);
            messageTask.EmailReplyTo   = template.ReplyToAddress;
            messageTask.EmailTo        = toEmail;
            messageTask.EmailCc        = template.CcAddresses;
            messageTask.EmailBcc       = template.BccAddresses;
            messageTask.UseHtml        = true;
            messageTask.Subject        = template.Subject.Replace("{Email}", e.SiteUser.Email).Replace("{FirstName}", e.SiteUser.FirstName).Replace("{LastName}", e.SiteUser.LastName);
            messageTask.HtmlBody       = template.HtmlBody.Replace("{SiteName}", siteSettings.SiteName).Replace("{Email}", e.SiteUser.Email).Replace("{FirstName}", e.SiteUser.FirstName).Replace("{LastName}", e.SiteUser.LastName).Replace("{Username}", e.SiteUser.Name).Replace("{Password}", e.SiteUser.Password);
            messageTask.QueueTask();

            WebTaskManager.StartOrResumeTasks();
        }
示例#3
0
        public static void SendCommentNotification(string toEmail)
        {
            //added this due to product comment spam and need to be able to ban the ip of the spammer
            StringBuilder messageToken = new StringBuilder();

            //messageToken.Append(basePage.SiteRoot + product.Url.Replace("~", string.Empty));

            messageToken.Append("\n\nHTTP_USER_AGENT: " + HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"] + "\n");
            messageToken.Append("HTTP_HOST: " + HttpContext.Current.Request.ServerVariables["HTTP_HOST"] + "\n");
            messageToken.Append("REMOTE_HOST: " + HttpContext.Current.Request.ServerVariables["REMOTE_HOST"] + "\n");
            messageToken.Append("REMOTE_ADDR: " + SiteUtils.GetIP4Address() + "\n");
            messageToken.Append("LOCAL_ADDR: " + HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"] + "\n");
            messageToken.Append("HTTP_REFERER: " + HttpContext.Current.Request.ServerVariables["HTTP_REFERER"] + "\n");

            SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();

            if ((toEmail.Length > 0) && (Email.IsValidEmailAddressSyntax(toEmail)))
            {
                EmailTemplate template = EmailTemplate.Get(siteSettings.SiteId, "ProductCommentNotification");

                string fromAddress = siteSettings.DefaultEmailFromAddress;
                string fromAlias   = template.FromName;
                if (fromAlias.Length == 0)
                {
                    fromAlias = siteSettings.DefaultFromEmailAlias;
                }
                if (template.ToAddresses.Length > 0)
                {
                    toEmail += ";" + template.ToAddresses;
                }

                SmtpSettings  smtpSettings = SiteUtils.GetSmtpSettings();
                StringBuilder message      = new StringBuilder();
                message.Append(template.HtmlBody);
                message.Replace("{SiteName}", siteSettings.SiteName);
                message.Replace("{Message}", messageToken.ToString());
                string subject = template.Subject.Replace("{SiteName}", siteSettings.SiteName);

                EmailMessageTask messageTask = new EmailMessageTask(smtpSettings);
                messageTask.SiteGuid       = siteSettings.SiteGuid;
                messageTask.EmailFrom      = fromAddress;
                messageTask.EmailFromAlias = fromAlias;
                messageTask.EmailReplyTo   = template.ReplyToAddress;
                messageTask.EmailTo        = toEmail;
                messageTask.EmailCc        = template.CcAddresses;
                messageTask.EmailBcc       = template.BccAddresses;
                messageTask.UseHtml        = true;
                messageTask.Subject        = subject;
                messageTask.HtmlBody       = message.ToString();
                messageTask.QueueTask();

                WebTaskManager.StartOrResumeTasks();
            }
        }
示例#4
0
        private bool sendmail(string authorname, string mailto)
        {
            try
            {
                EmailTemplate             template     = EmailTemplate.Get(siteSettings.SiteId, "EmailRegisterAuthor", WorkingCulture.LanguageId);
                string                    subjectEmail = template.Subject.Replace("{SiteName}", siteSettings.SiteName);
                System.Text.StringBuilder messageEmail = new System.Text.StringBuilder();
                messageEmail.Append(template.HtmlBody);
                messageEmail.Replace("{Name}", authorname);
                string fromAddress = siteSettings.DefaultEmailFromAddress;
                string fromAlias   = template.FromName;
                if (fromAlias.Length == 0)
                {
                    fromAlias = siteSettings.DefaultFromEmailAlias;
                }

                string emailTo      = (template.ToAddresses.Length > 0 ? ";" + template.ToAddresses : "");
                string emailCc      = template.CcAddresses;
                string emailBcc     = template.BccAddresses;
                string emailReplyTo = (template.ReplyToAddress.Length > 0 ? ";" + template.ReplyToAddress : "");

                SmtpSettings     smtpSettings = SiteUtils.GetSmtpSettings();
                EmailMessageTask messageTask  = new EmailMessageTask(smtpSettings);
                messageTask.SiteGuid       = siteSettings.SiteGuid;
                messageTask.EmailFrom      = fromAddress;
                messageTask.EmailFromAlias = fromAlias;
                messageTask.EmailReplyTo   = emailReplyTo;
                messageTask.EmailTo        = mailto;
                messageTask.EmailCc        = emailCc;
                messageTask.EmailBcc       = emailBcc;
                messageTask.Subject        = subjectEmail;
                messageTask.UseHtml        = true;
                messageTask.HtmlBody       = messageEmail.ToString();
                messageTask.QueueTask();
                WebTaskManager.StartOrResumeTasks();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#5
0
        public async Task <int> ProcessAsync(EmailMessageTask entry, string messageId, CancellationToken cancellationToken)
        {
            try
            {
                var dispatcher = _config.CreateSender(entry.Owner);
                var id         = await dispatcher.ScheduleAsync(entry.Message, cancellationToken);

                Logger.LogInformation(
                    "Successfully sent email message [from = {0}, to = [{1}], cc = [{2}], bcc = [{3}], messageId = {4}] => {5}.",
                    entry.Message.From,
                    string.Join(", ", entry.Message.To),
                    string.Join(", ", entry.Message.Cc),
                    string.Join(", ", entry.Message.Bcc),
                    messageId,
                    id
                    );
                return(202);
            }
            catch (Exception exn)
            {
                Logger.LogError(exn, "Failed to send email message [messageId = {0}].", messageId);
                return(200); // no retry...
            }
        }
示例#6
0
        //public static Module FindAuthorModule(PageSettings currentPage)
        //{
        //    foreach (Module m in currentPage.Modules)
        //    {
        //        if (m.FeatureGuid == Author.FeatureGuid) return m;

        //        if (m.ControlSource == "Author/AuthorModule.ascx") return m;

        //    }

        //    return null;
        //}

        public static void SendCommentNotification(
            SmtpSettings smtpSettings,
            Guid siteGuid,
            string fromAddress,
            string fromAlias,
            string toEmail,
            string replyEmail,
            string ccEmail,
            string bccEmail,
            string subject,
            string messageTemplate,
            string siteName,
            string messageToken)
        {
            if (string.IsNullOrEmpty(messageTemplate))
            {
                return;
            }

            StringBuilder message = new StringBuilder();

            message.Append(messageTemplate);
            message.Replace("{SiteName}", siteName);
            message.Replace("{Message}", messageToken);
            subject = subject.Replace("{SiteName}", siteName);

            //try
            //{
            //    Email.SendEmail(
            //        smtpSettings,
            //        fromAddress,
            //        toEmail,
            //        replyEmail,
            //        ccEmail,
            //        bccEmail,
            //        subject,
            //        message.ToString(),
            //        true,
            //        "Normal");
            //}
            //catch (Exception ex)
            //{
            //    log.Error("Error sending email from address was " + fromAddress + " to address was " + toEmail, ex);
            //}

            EmailMessageTask messageTask = new EmailMessageTask(smtpSettings);

            messageTask.SiteGuid       = siteGuid;
            messageTask.EmailFrom      = fromAddress;
            messageTask.EmailFromAlias = fromAlias;
            messageTask.EmailReplyTo   = replyEmail;
            messageTask.EmailTo        = toEmail;
            messageTask.EmailCc        = ccEmail;
            messageTask.EmailBcc       = bccEmail;
            messageTask.UseHtml        = true;
            messageTask.Subject        = subject;
            messageTask.HtmlBody       = message.ToString();
            messageTask.QueueTask();

            WebTaskManager.StartOrResumeTasks();
        }
示例#7
0
        public static void SendApprovalRequestNotification(
            SmtpSettings smtpSettings,
            SiteSettings siteSettings,
            int workflowId,
            SiteUser submittingUser,
            News draftNews
            )
        {
            if (!draftNews.StateId.HasValue)
            {
                return;
            }

            WorkflowState workflowState = WorkflowHelper.GetWorkflowState(workflowId, draftNews.StateId.Value);

            if (workflowState == null || workflowState.StateId == -1)
            {
                return;
            }

            if (workflowState.ReviewRoles.Length == 0 ||
                workflowState.NotifyTemplate.Length == 0)                //"ApprovalRequestNotification"
            {
                return;
            }

            string approvalRoles = workflowState.ReviewRoles;

            gbSiteMapNode gbNode = SiteUtils.GetSiteMapNodeByZoneId(draftNews.ZoneID);

            if (gbNode != null)
            {
                List <string> authorizedRoles = gbNode.AuthorizedRoles.SplitOnCharAndTrim(';');
                List <string> reviewRoles     = workflowState.ReviewRoles.SplitOnCharAndTrim(';');

                if (authorizedRoles.Count > 0 && reviewRoles.Count > 0)
                {
                    approvalRoles = string.Empty;

                    foreach (string reviewRole in reviewRoles)
                    {
                        foreach (string role in authorizedRoles)
                        {
                            if (reviewRole.ToLower() == role.ToLower())
                            {
                                approvalRoles += reviewRole + ";";
                            }
                        }
                    }
                }
            }

            List <string> emailAddresses = SiteUser.GetEmailAddresses(siteSettings.SiteId, approvalRoles);

            int queuedMessageCount = 0;

            EmailTemplate template        = EmailTemplate.Get(siteSettings.SiteId, workflowState.NotifyTemplate);
            string        subject         = template.Subject.Replace("{SiteName}", siteSettings.SiteName);
            string        messageTemplate = template.HtmlBody;

            List <string> emailTo = (template.ToAddresses.Length > 0 ? ";" + template.ToAddresses : "").SplitOnCharAndTrim(';');

            string emailToAddress = string.Empty;

            foreach (string email in emailAddresses)
            {
                if (WebConfigSettings.EmailAddressesToExcludeFromAdminNotifications.IndexOf(email,
                                                                                            StringComparison.InvariantCultureIgnoreCase) > -1)
                {
                    continue;
                }
                if (!Email.IsValidEmailAddressSyntax(email))
                {
                    continue;
                }

                if (!emailToAddress.Contains(email + ";"))
                {
                    emailToAddress += email + ";";
                }
            }
            foreach (string email in emailTo)
            {
                if (WebConfigSettings.EmailAddressesToExcludeFromAdminNotifications.IndexOf(email,
                                                                                            StringComparison.InvariantCultureIgnoreCase) > -1)
                {
                    continue;
                }
                if (!Email.IsValidEmailAddressSyntax(email))
                {
                    continue;
                }

                if (!emailToAddress.Contains(email + ";"))
                {
                    emailToAddress += email + ";";
                }
            }

            string replyEmail = submittingUser.Email;

            if (template.ReplyToAddress.Length > 0)
            {
                replyEmail += ";" + template.ReplyToAddress;
            }

            string fromEmailAlias = (template.FromName.Length > 0 ? template.FromName : siteSettings.DefaultFromEmailAlias);

            StringBuilder message = new StringBuilder();

            message.Append(messageTemplate);
            message.Replace("{Title}", draftNews.Title);
            message.Replace("{SubmittedDate}", DateTimeHelper.GetLocalTimeString(draftNews.ApprovedUtc, SiteUtils.GetUserTimeZone(),
                                                                                 SiteUtils.GetUserTimeOffset()));
            message.Replace("{SubmittedBy}", submittingUser.Name);
            message.Replace("{ContentUrl}", NewsHelper.FormatNewsUrl(draftNews.Url, draftNews.NewsID, draftNews.ZoneID));

            EmailMessageTask messageTask = new EmailMessageTask(smtpSettings);

            messageTask.SiteGuid       = siteSettings.SiteGuid;
            messageTask.EmailFrom      = siteSettings.DefaultEmailFromAddress;
            messageTask.EmailFromAlias = fromEmailAlias;
            messageTask.EmailReplyTo   = replyEmail;
            messageTask.EmailTo        = emailToAddress;
            messageTask.EmailCc        = template.CcAddresses;
            messageTask.EmailBcc       = template.BccAddresses;
            messageTask.UseHtml        = true;
            messageTask.Subject        = subject;
            messageTask.HtmlBody       = message.ToString();
            messageTask.QueueTask();
            queuedMessageCount += 1;

            //Email.Send(
            //        smtpSettings,
            //        siteSettings.DefaultEmailFromAddress,
            //        siteSettings.DefaultFromEmailAlias,
            //        submittingUser.Email,
            //        email,
            //        string.Empty,
            //        string.Empty,
            //        messageSubject,
            //        message.ToString(),
            //        false,
            //        Email.PriorityNormal);

            WebTaskManager.StartOrResumeTasks();
        }
        private void DoSubscribe(LetterInfo letter, string email)
        {
            LetterSubscriber s = subscriptions.Fetch(siteSettings.SiteGuid, letter.LetterInfoGuid, email);

            bool needToSendVerification = false;

            if (s == null)
            {
                s                = new LetterSubscriber();
                s.SiteGuid       = siteSettings.SiteGuid;
                s.EmailAddress   = email;
                s.LetterInfoGuid = letter.LetterInfoGuid;
                if (showFormatOptions)
                {
                    s.UseHtml = rbHtmlFormat.Checked;
                }
                else
                {
                    s.UseHtml = htmlIsDefault;
                }

                if ((currentUser != null) && (string.Equals(currentUser.Email, email, StringComparison.InvariantCultureIgnoreCase)))
                {
                    s.UserGuid   = currentUser.UserGuid;
                    s.IsVerified = true;
                }
                else
                {
                    // user is not authenticated but may still exist
                    // attach userguid but don't flag as verified
                    // because we don't know that the user who submited the form is the account owner
                    SiteUser siteUser = SiteUser.GetByEmail(siteSettings, email);
                    if (siteUser != null)
                    {
                        s.UserGuid = siteUser.UserGuid;
                    }
                }
                s.IpAddress = SiteUtils.GetIP4Address();
                subscriptions.Save(s);

                LetterInfo.UpdateSubscriberCount(s.LetterInfoGuid);

                if (!s.IsVerified)
                {
                    needToSendVerification = true;
                }
            }
            else
            {
                // we found an existing subscription

                if (!s.IsVerified)
                {
                    // if the current authenticated user has the same email mark it as verified
                    if ((currentUser != null) && (string.Equals(currentUser.Email, email, StringComparison.InvariantCultureIgnoreCase)))
                    {
                        s.UserGuid = currentUser.UserGuid;
                        if (showFormatOptions)
                        {
                            s.UseHtml = rbHtmlFormat.Checked;
                        }
                        subscriptions.Save(s);
                        subscriptions.Verify(s.SubscribeGuid, true, Guid.Empty);
                    }
                    else if (s.BeginUtc < DateTime.UtcNow.AddDays(-WebConfigSettings.NewsletterReVerifcationAfterDays))
                    {
                        // if the user never verifed before and its been at least x days go ahead and send another chance to verify
                        needToSendVerification = true;
                        // TODO: maybe we should log this in case some spam script is using the same email over and over
                        // or maybe we should add a verification sent count on subscription
                    }
                }
            }

            if (needToSendVerification)
            {
                string verificationTemplate = ResourceHelper.GetMessageTemplate(SiteUtils.GetDefaultCulture(), "NewsletterVerificationEmailMessage.config");
                string confirmLink          = siteRoot + "/eletter/Confirm.aspx?s=" + s.SubscribeGuid.ToString();
                string messageBody          = verificationTemplate.Replace("{NewsletterName}", letter.Title).Replace("{ConfirmationLink}", confirmLink).Replace("{SiteLink}", siteRoot);
                string subject = string.Format(CultureInfo.InvariantCulture, Resource.NewsletterVerifySubjectFormat, letter.Title);

                EmailMessageTask messageTask = new EmailMessageTask(SiteUtils.GetSmtpSettings());
                messageTask.SiteGuid = siteSettings.SiteGuid;
                if (letter.FromAddress.Length > 0)
                {
                    messageTask.EmailFrom = letter.FromAddress;
                }
                else
                {
                    messageTask.EmailFrom = siteSettings.DefaultEmailFromAddress;
                }
                messageTask.EmailTo  = email;
                messageTask.Subject  = subject;
                messageTask.TextBody = messageBody;


                messageTask.QueueTask();
                WebTaskManager.StartOrResumeTasks();
            }
        }
        private void btnSend_Click(object sender, EventArgs e)
        {
            bool isValid = true;

            reqEmail.Validate();
            if (!reqEmail.IsValid)
            {
                isValid = false;
            }
            regexEmail.Validate();
            if (!regexEmail.IsValid)
            {
                isValid = false;
            }

            reqToEmail.Validate();
            if (!reqToEmail.IsValid)
            {
                isValid = false;
            }
            regexToEmail.Validate();
            if (!regexToEmail.IsValid)
            {
                isValid = false;
            }

            if (isValid)
            {
                //string messageTemplate = MessageTemplate.GetMessage("EmailSubjectNotification");
                //string url = WebUtils.ParseStringFromQueryString("u", string.Empty);

                //StringBuilder message = new StringBuilder();
                //message.Append(messageTemplate);
                //message.Replace("{SiteName}", siteSettings.SiteName);
                //message.Replace("{Name}", txtName.Text);
                //message.Replace("{Email}", txtEmail.Text);
                //message.Replace("{Link}", url);
                //message.Replace("{Message}", txtMessage.Text);

                //string fromAddress = siteSettings.DefaultEmailFromAddress;

                EmailTemplate template     = EmailTemplate.Get(siteSettings.SiteId, "EmailSubjectNotification", WorkingCulture.LanguageId);
                string        subjectEmail = template.Subject.Replace("{SiteName}", siteSettings.SiteName).Replace("{Subject}", txtSubject.Text.Trim());
                string        url          = WebUtils.ParseStringFromQueryString("u", string.Empty);

                StringBuilder message = new StringBuilder();
                message.Append(template.HtmlBody);
                message.Replace("{SiteName}", siteSettings.SiteName);
                message.Replace("{Name}", txtName.Text);
                message.Replace("{Email}", txtEmail.Text);
                message.Replace("{Link}", url);
                message.Replace("{Message}", txtMessage.Text);

                string fromAddress = siteSettings.DefaultEmailFromAddress;
                string fromAlias   = template.FromName;
                if (fromAlias.Length == 0)
                {
                    fromAlias = siteSettings.DefaultFromEmailAlias;
                }

                string emailTo      = (template.ToAddresses.Length > 0 ? ";" + template.ToAddresses : "");
                string emailCc      = template.CcAddresses;
                string emailBcc     = template.BccAddresses;
                string emailReplyTo = (template.ReplyToAddress.Length > 0 ? ";" + template.ReplyToAddress : "");

                SmtpSettings smtpSettings = SiteUtils.GetSmtpSettings();

                try
                {
                    //Email.SendEmail(
                    //    smtpSettings,
                    //    fromAddress,
                    //    txtEmail.Text,
                    //    txtToEmail.Text,
                    //    string.Empty,
                    //    string.Empty,
                    //    "[" + siteSettings.SiteName + "]" + (this.txtSubject.Text.Trim() != "" ? (": " + this.txtSubject.Text.Trim()) : ""),
                    //    message.ToString(),
                    //    true,
                    //    "Normal");

                    EmailMessageTask messageTask = new EmailMessageTask(smtpSettings);
                    messageTask.SiteGuid       = siteSettings.SiteGuid;
                    messageTask.EmailFrom      = fromAddress;
                    messageTask.EmailFromAlias = fromAlias;
                    messageTask.EmailReplyTo   = txtEmail.Text.Trim() + emailReplyTo;
                    messageTask.EmailTo        = txtToEmail.Text.Trim() + emailTo;
                    messageTask.EmailCc        = emailCc;
                    messageTask.EmailBcc       = emailBcc;
                    messageTask.UseHtml        = true;
                    messageTask.Subject        = subjectEmail;
                    messageTask.HtmlBody       = message.ToString();
                    messageTask.QueueTask();

                    WebTaskManager.StartOrResumeTasks();
                }
                catch (Exception ex)
                {
                    log.Error("Error sending email from address was " + fromAddress + " to address was " + txtToEmail.Text, ex);
                }

                this.lblMessage.Text = MessageTemplate.GetMessage("EmailSubjectThankYouMessage", NewsResources.EmailSubjectThankYouLabel);
                this.pnlSend.Visible = false;
                SetupScript();
            }
        }