示例#1
0
    protected int CreateNewEmail(string action, int existing_email_id)
    {
        string body        = string.Empty;
        string subject     = string.Empty;
        int    language_id = 0;
        string type        = string.Empty;
        string email_uri   = string.Empty;

        if (action == "duplicate")
        {
            qCom_EmailItem email = new qCom_EmailItem(Convert.ToInt32(Request.QueryString["EmailID"]));

            if (email != null)
            {
                body        = email.Draft;
                subject     = "DUPLICATE - " + email.Subject;
                language_id = email.LanguageID;
                type        = email.Type;
                email_uri   = "DUPLICATE - " + email.URI;
            }
        }
        else
        {
            body      = reContent.Content;
            subject   = txtSubject.Text;
            email_uri = txtURI.Text;
            if (!String.IsNullOrEmpty(Convert.ToString(ddlEmailType.SelectedValue)))
            {
                type = Convert.ToString(ddlEmailType.SelectedValue);
            }
            if (!String.IsNullOrEmpty(Convert.ToString(ddlLanguages.SelectedValue)))
            {
                language_id = Convert.ToInt32(ddlLanguages.SelectedValue);
            }
        }

        qCom_EmailItem new_email = new qCom_EmailItem();

        new_email.ScopeID        = Convert.ToInt32(Context.Items["ScopeID"]);
        new_email.Available      = "Yes";
        new_email.Created        = DateTime.Now;
        new_email.CreatedBy      = Convert.ToInt32(Context.Items["UserID"]);
        new_email.LastModified   = DateTime.Now;
        new_email.LastModifiedBy = Convert.ToInt32(Context.Items["UserID"]);
        new_email.MarkAsDelete   = 0;
        new_email.Subject        = subject;
        new_email.Draft          = body;
        new_email.URI            = email_uri;
        new_email.Type           = type;
        new_email.LanguageID     = language_id;
        if (!String.IsNullOrEmpty(Convert.ToString(ddlCampaigns.SelectedValue)))
        {
            new_email.CampaignID = Convert.ToInt32(ddlCampaigns.SelectedValue);
        }
        new_email.Insert();

        return(new_email.EmailID);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        qCom_EmailItem email = new qCom_EmailItem(Convert.ToInt32(Request.QueryString["emailID"]));
        email.Available = "No";
        email.MarkAsDelete = 1;
        email.Update();

        Response.Redirect("emails-list.aspx");
    }
示例#3
0
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        qCom_EmailItem email = new qCom_EmailItem(Convert.ToInt32(Request.QueryString["emailID"]));

        email.Available    = "No";
        email.MarkAsDelete = 1;
        email.Update();

        Response.Redirect("emails-list.aspx");
    }
示例#4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int language_id = 1;
        int emailID     = (string.IsNullOrEmpty(Request.QueryString["emailID"])) ? 0 : Convert.ToInt32(Request.QueryString["emailID"]);
        int curr_email_id;

        var versions = qPtl_HTMLRevision.GetRevisions(emailID, "email", language_id);

        cmbRevisions.DataSource     = versions;
        cmbRevisions.DataTextField  = "VersionInfo";
        cmbRevisions.DataValueField = "HTMLRevisionID";
        cmbRevisions.DataBind();

        if (!Page.IsPostBack)
        {
            populateCampaigns();
            populateLanguages();

            hplDuplicate.NavigateUrl = "email-edit.aspx?action=duplicate&emailID=" + emailID;
            hplTestSend.NavigateUrl  = "test-send.aspx?emailID=" + emailID;

            //duplicate information and then
            if (emailID > 0 && Convert.ToString(Request.QueryString["action"]) == "duplicate")
            {
                curr_email_id = CreateNewEmail("duplicate", emailID);
                Response.Redirect("email-edit.aspx?emailID=" + curr_email_id);
            }
            else
            {
                curr_email_id = emailID;
            }

            if (Convert.ToString(Request.QueryString["message"]) == "duplicate-successful")
            {
                lblMessage.Text = "*** Email Successfully Duplicated ***";
            }

            if (curr_email_id > 0)
            {
                qCom_EmailItem email = new qCom_EmailItem(Convert.ToInt32(Request.QueryString["emailID"]));
                txtURI.Text = email.URI;
                ddlLanguages.SelectedValue = Convert.ToString(email.LanguageID);
                ddlCampaigns.SelectedValue = Convert.ToString(email.CampaignID);
                ddlEmailType.SelectedValue = Convert.ToString(email.Type);
                txtSubject.Text            = email.Subject;
                reContent.Content          = email.Draft;

                lblTitle.Text = "Edit Email [ID: " + email.EmailID + " ]";
            }
            else
            {
                lblTitle.Text = "Create Email";
            }
        }
    }
示例#5
0
        protected void SendTaskEmail(int task_type_id, int created_by, int reference_id, string description)
        {
            string request_task_emails       = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["TaskEmailList"]);
            qCom_EmailPreference preferences = new qCom_EmailPreference();
            string system_from          = preferences.FromName;
            string system_email_address = preferences.FromEmailAddress;
            int    curr_email_id        = 0;

            qPtl_User curr_user = new qPtl_User(created_by);

            if (!String.IsNullOrEmpty(request_task_emails))
            {
                switch (task_type_id)
                {
                case 1:         // review blog
                    curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_blog_EmailID"]));
                    break;

                case 2:         // approve image
                    curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_newpic_EmailID"]));
                    break;

                case 3:         // approve video
                    curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_video_EmailID"]));
                    break;

                case 4:         // review site report
                    curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_issue_EmailID"]));
                    break;

                case 5:         // review reported message
                    curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_message_EmailID"]));
                    break;

                case 6:         // review banned word
                    curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_banned_word_EmailID"]));
                    break;
                }

                qCom_EmailItem email = new qCom_EmailItem(curr_email_id);

                ArrayList addresses = new ArrayList();
                q_Helper  helper    = new q_Helper();
                addresses = helper.optionsToArrayList(request_task_emails);

                qCom_EmailTool email_send        = new qCom_EmailTool();
                int            sent_email_log_id = 0;

                foreach (string address in addresses)
                {
                    try
                    {
                        sent_email_log_id = email_send.SendDatabaseMail(address, curr_email_id, created_by, curr_user.UserName, Convert.ToString(reference_id), description, "", "", false);
                    }
                    catch
                    {
                        // email failure
                    }
                }
            }
        }
        private void SaveToDB(qCom_TempBulkEmailLog t_log, int email_item_id, string email)
        {
            int curr_log_id = 0;
            int i = 0;
            if( ( email==null) || ( email.Trim().Length == 0 ) )
                return;

            var logs = qCom_EmailLog.GetEmailLogsByEmailItemIDANDEmail(email_item_id, email);

            if (logs != null)
            {
                foreach (var l in logs)
                {
                    if (i == 0)
                        curr_log_id = l.EmailLogID;
                    i++;
                }
            }
            else
            {
                // log doesn't exist so create one
                qCom_EmailItem email_sent = new qCom_EmailItem(email_item_id);
                qCom_EmailLog log = new qCom_EmailLog();
                log.ScopeID = 1;
                log.EmailItemID = email_item_id;
                log.UserID = 0;
                log.EmailAddress = email;
                log.Subject = email_sent.Subject;
                log.Timestamp = t_log.Timestamp;
                log.Insert();

                curr_log_id = log.EmailLogID;

            }

            if (curr_log_id > 0)
            {
                qCom_EmailLog e_log = new qCom_EmailLog(curr_log_id);
                if (e_log.EmailLogID > 0)
                {
                    e_log.ReadTime = DateTime.Now;
                    e_log.Update();
                }
            }
        }
示例#7
0
    protected void btnSave_OnClick(object sender, EventArgs e)
    {
        Page.Validate("form");

        if (Page.IsValid)
        {
            int       language_id         = 1;
            int       emailID             = (string.IsNullOrEmpty(Request.QueryString["emailID"])) ? 0 : Convert.ToInt32(Request.QueryString["emailID"]);
            int       curr_email_id       = 0;
            int       scopeID             = Convert.ToInt32(Context.Items["ScopeID"]);
            int       user_id             = Convert.ToInt32(Context.Items["UserID"]);
            var       last_version_number = qPtl_HTMLRevision.GetLastVersionNumber(emailID, "email", language_id);
            qPtl_User user = new qPtl_User(user_id);

            if (emailID > 0)
            {
                lblTitle.Text = "Edit Email";
                qCom_EmailItem email = new qCom_EmailItem(emailID);
                email.URI     = txtURI.Text;
                email.Subject = txtSubject.Text;
                if (!String.IsNullOrEmpty(Convert.ToString(ddlEmailType.SelectedValue)))
                {
                    email.Type = Convert.ToString(ddlEmailType.SelectedValue);
                }
                if (!String.IsNullOrEmpty(Convert.ToString(ddlLanguages.SelectedValue)))
                {
                    email.LanguageID = Convert.ToInt32(ddlLanguages.SelectedValue);
                }
                if (!String.IsNullOrEmpty(Convert.ToString(ddlCampaigns.SelectedValue)))
                {
                    email.CampaignID = Convert.ToInt32(ddlCampaigns.SelectedValue);
                }
                email.Draft = reContent.Content;
                email.Update();

                lblMessage.Text = "*** Email Successfully Saved at " + DateTime.Now + " ***";

                curr_email_id = emailID;

                //Response.Redirect("~/qCom/email-list.aspx");
            }
            else
            {
                int new_email_id = CreateNewEmail("new", -1);

                lblMessage.Text = "*** Email Successfully Created at " + DateTime.Now + " ***";

                curr_email_id = new_email_id;
                //Response.Redirect("~/qCom/email-list.aspx");
            }

            qPtl_HTMLRevision revision = new qPtl_HTMLRevision();
            revision.Available        = "Yes";
            revision.ScopeID          = Convert.ToInt32(Context.Items["ScopeID"]);
            revision.Created          = DateTime.Now;
            revision.CreatedBy        = user_id;
            revision.LastModified     = DateTime.Now;
            revision.LastModifiedBy   = user_id;
            revision.MarkAsDelete     = 0;
            revision.ModuleInstanceID = curr_email_id;
            revision.SourceType       = "email";
            revision.HTML             = reContent.Content;
            revision.VersionNumber    = last_version_number + 1;
            revision.VersionInfo      = "Version: " + revision.VersionNumber + " saved by " + user.FirstName + " " + user.LastName + " [" + user.UserName + "] at " + DateTime.Now;
            revision.LanguageID       = language_id;

            revision.Insert();
        }
    }
        //Send to just one address with text replacement
        public int SendDatabaseMail(string address, int emailID, int userID, string userName, string value1, string value2, string value3, string value4, bool no_duplicates_today)
        {
            // get email info
            qCom_EmailTool email = new qCom_EmailTool(emailID);
            qCom_EmailItem full_email = new qCom_EmailItem(emailID);

            string header = string.Empty;
            string footer = string.Empty;
            string strFromEmail = string.Empty;
            string fromName = string.Empty;
            string emailUsername = null;
            string emailPassword = null;
            string emailServer = null;
            bool sslEnabled = false;
            int portNum = 0;
            string strDID = string.Empty;
            int return_email_log_id = 0;
            bool passed_send_checks = false;
            bool already_sent_today = true;
            string returnedEmail = string.Empty;
            bool ok_to_send = false;
            string noEmail = string.Empty;

            // Check to see if email already sent to user today
            if (no_duplicates_today == true)
            {
                var prior_current_day_log = qCom_EmailLog.CheckForEmailSentLastDay(address);

                if (prior_current_day_log == null)
                {
                    already_sent_today = false;
                }
            }
            else
            {
                already_sent_today = false;
            }

            qCom_UserPreference_View u_pref = new qCom_UserPreference_View(address);
            if (u_pref.UserID > 0)
            {
                if (u_pref.OkBulkEmail == "Yes" || u_pref.OkEmail == "Yes")
                {
                    ok_to_send = true;
                }
            }
            else
                ok_to_send = true;

            if (already_sent_today == false && ok_to_send == true)
                passed_send_checks = true;
            else
                passed_send_checks = false;

            qPtl_User user = new qPtl_User(Convert.ToInt32(userID));
            if (user.UserID == 0)
            {
                user.Email = "";
                user.FirstName = "";
                user.LastName = "";
            }

            // load default email preferences
            if (String.IsNullOrEmpty(emailServer))
            {
                var email_pref = qCom_EmailPreference.GetEmailPreferences();

                if (email_pref != null)
                {
                    if (email_pref.EmailPreferencesID > 0)
                    {
                        header = email_pref.Header;
                        footer = email_pref.Footer;
                        strFromEmail = email_pref.FromEmailAddress;
                        fromName = email_pref.FromName;
                        emailServer = email_pref.SMTPServer;
                        emailUsername = email_pref.SMTPUsername;
                        emailPassword = email_pref.SMTPPassword;
                        sslEnabled = email_pref.SMTPSSL;
                        portNum = email_pref.SMTPPort;
                    }
                }
            }

            // format as friendly send address
            string strFullEmail = string.Empty;
            if (!String.IsNullOrEmpty(fromName))
                strFullEmail = fromName + " <" + strFromEmail + ">";
            else
                strFullEmail = strFromEmail;

            string messageBody = header;

            messageBody += email.emailDraft;
            emailSubject = email.emailSubject;

            messageBody += footer;

            if (!String.IsNullOrEmpty(emailServer) && passed_send_checks == true)
            {
                SmtpClient emailClient = new SmtpClient(emailServer, portNum);
                emailClient.EnableSsl = sslEnabled;
                emailClient.DeliveryMethod = SmtpDeliveryMethod.Network;

                emailClient.Credentials = new System.Net.NetworkCredential(emailUsername, emailPassword);

                Regex emailCheck = new Regex("^.*<?[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+(\\.[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+)*@(([a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9]+)?){1,63}\\.)+([a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9]+)?){2,63}>?$");

                // create temp bulk email log -- used for tracking (must be created before sent so can include id in message html)
                int t_log_id = 0;
                qCom_TempBulkEmailLog t_log = new qCom_TempBulkEmailLog();
                t_log.EmailItemID = emailID;
                t_log.EmailAddress = strFullEmail;
                t_log.Timestamp = DateTime.Now;
                t_log.Insert();
                t_log_id = t_log.TempBulkEmailLogID;

                if (emailCheck.IsMatch(address.ToLower()))
                {
                    string finalBody = parseContentField(new string[] { Convert.ToString(user.UserID), userName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2, value3, value4, strDID, Convert.ToString(emailID), Convert.ToString(t_log_id) }, messageBody);

                    string finalSubject = parseContentField(new string[] { Convert.ToString(user.UserID), userName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2, value3, value4, strDID, Convert.ToString(emailID), Convert.ToString(t_log_id) }, emailSubject);

                    MailMessage mailout = new MailMessage(strFullEmail, address, finalSubject, finalBody);
                    mailout.IsBodyHtml = true;

                    emailClient.Send(mailout);

                    return_email_log_id = AddTransmissionLog(scopeID, address, userID, "single", finalSubject, emailID, full_email.CampaignID, strFromEmail);
                }
            }

            return return_email_log_id;
        }
    protected void btnSave_OnClick(object sender, EventArgs e)
    {
        Page.Validate("form");

        if (Page.IsValid)
        {
            int language_id = 1;
            int emailID = (string.IsNullOrEmpty(Request.QueryString["emailID"])) ? 0 : Convert.ToInt32(Request.QueryString["emailID"]);
            int curr_email_id = 0;
            int scopeID = Convert.ToInt32(Context.Items["ScopeID"]);
            int user_id = Convert.ToInt32(Context.Items["UserID"]);
            var last_version_number = qPtl_HTMLRevision.GetLastVersionNumber(emailID, "email", language_id);
            qPtl_User user = new qPtl_User(user_id);

            if (emailID > 0)
            {
                lblTitle.Text = "Edit Email";
                qCom_EmailItem email = new qCom_EmailItem(emailID);
                email.URI = txtURI.Text;
                email.Subject = txtSubject.Text;
                if (!String.IsNullOrEmpty(Convert.ToString(ddlEmailType.SelectedValue)))
                    email.Type = Convert.ToString(ddlEmailType.SelectedValue);
                if (!String.IsNullOrEmpty(Convert.ToString(ddlLanguages.SelectedValue)))
                    email.LanguageID = Convert.ToInt32(ddlLanguages.SelectedValue);
                if (!String.IsNullOrEmpty(Convert.ToString(ddlCampaigns.SelectedValue)))
                    email.CampaignID = Convert.ToInt32(ddlCampaigns.SelectedValue);
                email.Draft = reContent.Content;
                email.Update();

                lblMessage.Text = "*** Email Successfully Saved at " + DateTime.Now + " ***";

                curr_email_id = emailID;

                //Response.Redirect("~/qCom/email-list.aspx");
            }
            else
            {
                int new_email_id = CreateNewEmail("new", -1);

                lblMessage.Text = "*** Email Successfully Created at " + DateTime.Now + " ***";

                curr_email_id = new_email_id;
                //Response.Redirect("~/qCom/email-list.aspx");
            }

            qPtl_HTMLRevision revision = new qPtl_HTMLRevision();
            revision.Available = "Yes";
            revision.ScopeID = Convert.ToInt32(Context.Items["ScopeID"]);
            revision.Created = DateTime.Now;
            revision.CreatedBy = user_id;
            revision.LastModified = DateTime.Now;
            revision.LastModifiedBy = user_id;
            revision.MarkAsDelete = 0;
            revision.ModuleInstanceID = curr_email_id;
            revision.SourceType = "email";
            revision.HTML = reContent.Content;
            revision.VersionNumber = last_version_number + 1;
            revision.VersionInfo = "Version: " + revision.VersionNumber + " saved by " + user.FirstName + " " + user.LastName + " [" + user.UserName + "] at " + DateTime.Now;
            revision.LanguageID = language_id;

            revision.Insert();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        int language_id = 1;
        int emailID = (string.IsNullOrEmpty(Request.QueryString["emailID"])) ? 0 : Convert.ToInt32(Request.QueryString["emailID"]);
        int curr_email_id;

        var versions = qPtl_HTMLRevision.GetRevisions(emailID, "email", language_id);

        cmbRevisions.DataSource = versions;
        cmbRevisions.DataTextField = "VersionInfo";
        cmbRevisions.DataValueField = "HTMLRevisionID";
        cmbRevisions.DataBind();

        if (!Page.IsPostBack)
        {
            populateCampaigns();
            populateLanguages();

            hplDuplicate.NavigateUrl = "email-edit.aspx?action=duplicate&emailID=" + emailID;
            hplTestSend.NavigateUrl = "test-send.aspx?emailID=" + emailID;

            //duplicate information and then
            if (emailID > 0 && Convert.ToString(Request.QueryString["action"]) == "duplicate")
            {
                curr_email_id = CreateNewEmail("duplicate", emailID);
                Response.Redirect("email-edit.aspx?emailID=" + curr_email_id);
            }
            else
            {
                curr_email_id = emailID;
            }

            if (Convert.ToString(Request.QueryString["message"]) == "duplicate-successful")
            {
                lblMessage.Text = "*** Email Successfully Duplicated ***";
            }

            if (curr_email_id > 0)
            {
                qCom_EmailItem email = new qCom_EmailItem(Convert.ToInt32(Request.QueryString["emailID"]));
                txtURI.Text = email.URI;
                ddlLanguages.SelectedValue = Convert.ToString(email.LanguageID);
                ddlCampaigns.SelectedValue = Convert.ToString(email.CampaignID);
                ddlEmailType.SelectedValue = Convert.ToString(email.Type);
                txtSubject.Text = email.Subject;
                reContent.Content = email.Draft;

                lblTitle.Text = "Edit Email [ID: " + email.EmailID + " ]";
            }
            else
                lblTitle.Text = "Create Email";
        }
    }
    protected int CreateNewEmail(string action, int existing_email_id)
    {
        string body = string.Empty;
        string subject = string.Empty;
        int language_id = 0;
        string type = string.Empty;
        string email_uri = string.Empty;

        if (action == "duplicate")
        {
            qCom_EmailItem email = new qCom_EmailItem(Convert.ToInt32(Request.QueryString["EmailID"]));

            if (email != null)
            {
                body = email.Draft;
                subject = "DUPLICATE - " + email.Subject;
                language_id = email.LanguageID;
                type = email.Type;
                email_uri = "DUPLICATE - " + email.URI;
            }
        }
        else
        {
            body = reContent.Content;
            subject = txtSubject.Text;
            email_uri = txtURI.Text;
            if (!String.IsNullOrEmpty(Convert.ToString(ddlEmailType.SelectedValue)))
                type = Convert.ToString(ddlEmailType.SelectedValue);
            if (!String.IsNullOrEmpty(Convert.ToString(ddlLanguages.SelectedValue)))
                language_id = Convert.ToInt32(ddlLanguages.SelectedValue);
        }

        qCom_EmailItem new_email = new qCom_EmailItem();
        new_email.ScopeID = Convert.ToInt32(Context.Items["ScopeID"]);
        new_email.Available = "Yes";
        new_email.Created = DateTime.Now;
        new_email.CreatedBy = Convert.ToInt32(Context.Items["UserID"]);
        new_email.LastModified = DateTime.Now;
        new_email.LastModifiedBy = Convert.ToInt32(Context.Items["UserID"]);
        new_email.MarkAsDelete = 0;
        new_email.Subject = subject;
        new_email.Draft = body;
        new_email.URI = email_uri;
        new_email.Type = type;
        new_email.LanguageID = language_id;
        if (!String.IsNullOrEmpty(Convert.ToString(ddlCampaigns.SelectedValue)))
            new_email.CampaignID = Convert.ToInt32(ddlCampaigns.SelectedValue);
        new_email.Insert();

        return new_email.EmailID;
    }
        protected void SendTaskEmail(int task_type_id, int created_by, int reference_id, string description)
        {
            string request_task_emails = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["TaskEmailList"]);
            qCom_EmailPreference preferences = new qCom_EmailPreference();
            string system_from = preferences.FromName;
            string system_email_address = preferences.FromEmailAddress;
            int curr_email_id = 0;

            qPtl_User curr_user = new qPtl_User(created_by);

            if (!String.IsNullOrEmpty(request_task_emails))
            {
                switch (task_type_id)
                {
                    case 1:     // review blog
                        curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_blog_EmailID"]));
                        break;
                    case 2:     // approve image
                        curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_newpic_EmailID"]));
                        break;
                    case 3:     // approve video
                        curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_video_EmailID"]));
                        break;
                    case 4:     // review site report
                        curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_issue_EmailID"]));
                        break;
                    case 5:     // review reported message
                        curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_message_EmailID"]));
                        break;
                    case 6:     // review banned word
                        curr_email_id = Convert.ToInt32(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["report_banned_word_EmailID"]));
                        break;
                }

                qCom_EmailItem email = new qCom_EmailItem(curr_email_id);

                ArrayList addresses = new ArrayList();
                q_Helper helper = new q_Helper();
                addresses = helper.optionsToArrayList(request_task_emails);

                qCom_EmailTool email_send = new qCom_EmailTool();
                int sent_email_log_id = 0;

                foreach (string address in addresses)
                {
                    try
                    {
                        sent_email_log_id = email_send.SendDatabaseMail(address, curr_email_id, created_by, curr_user.UserName, Convert.ToString(reference_id), description, "", "", false);
                    }
                    catch
                    {
                        // email failure
                    }
                }
            }
        }