//state = "Reply" or "Forward" or "Drafts"
        public frmNewMessage(Email mail, string state,frmMessage form)
        {
            InitializeComponent();
            UserMail = FrameworkParams.currentUser.username + "@" + Connect.domain;
            //HUYLX : Set lại password từ framework
            //Password = FrameworkParams.currentUser.password;
            Password = FrameworkParams.currentUser.id + "_protocolvn";
            UserId = FrameworkParams.currentUser.id.ToString();
            this.state = state;
            if ((state == "Reply") | (state == "Forward"))
            {
                string to = "";
                for (int i = 0; i < mail.NumTo; i++)
                    to += mail.GetTo(i);

                string stringHTML = mail.GetHtmlBody();
                if ((mail.HasHtmlBody()) & (mail.NumRelatedItems > 0))//show image
                {
                    string path = FrameworkParams.TEMP_FOLDER + @"\MailImage";
                    if (!System.IO.Directory.Exists(path))
                    {
                        System.IO.Directory.CreateDirectory(path);
                    }
                    for (int i = 0; i < mail.NumRelatedItems; i++)
                    {
                        mail.SaveRelatedItem(i, path);
                        string replace = mail.GetRelatedContentID(i);
                        int pos = stringHTML.IndexOf(replace);
                        pos--;
                        while (stringHTML[pos].ToString() != "\"")
                        {
                            replace = stringHTML[pos].ToString() + replace;
                            pos--;
                        }
                        stringHTML = stringHTML.Replace(replace, path + "\\\\" + mail.GetRelatedFilename(i));
                    }
                }
                editor.DocumentText = "<HTML><BODY>"
                                               + "</br>" + "</br>"
                                               + "------------- Thư gốc ------------- </br>"
                                               + "Từ: " + mail.From + "</br>"
                                               + "Ngày: " + mail.EmailDate.ToString() + "</br>"
                                               + "Tiêu đề: " + mail.Subject + "</br>"
                                               + "Đến: " + to + "</br>" + "</br>"
                                               + "Nội dung: </br>" + ((mail.HasHtmlBody()) ? stringHTML : mail.GetPlainTextBody())
                                               + "</BODY></HTML>";
                if (state == "Reply")
                {
                    Mail = mail.CreateReply();

                }
                else
                {
                    if (state == "Forward")
                        Mail = mail.CreateForward();
                    else
                        Mail = mail;
                }
            }
            numOfOldAttach = Mail.NumAttachments;
            parentForm = form;
            _initAtt();
            loadmail();
            LoadPlugin();
        }
        // Hiển thị thư
        private bool showMessage()
        {
            try
            {
                mail = mess.GetMessage(treeList1.FocusedNode[2].ToString(), (int)gridView1.GetDataRow(gridView1.FocusedRowHandle)[0]);
                mess.MarkFlagged((int)gridView1.GetDataRow(gridView1.FocusedRowHandle)[0], treeList1.FocusedNode[2].ToString());
                lbForm.Text = "Người gửi: " + mail.From;
                lbSubject.Text = "Tiêu đề: " + mail.Subject;
                if (mail.HasHtmlBody())
                {
                    string stringHTML = mail.GetHtmlBody();

                    if (mail.NumRelatedItems > 0)//show image
                    {
                        string path = FrameworkParams.TEMP_FOLDER+ @"\MailImage";

                        //string path = Application.UserAppDataPath + "\\MailImage";
                        if (!System.IO.Directory.Exists(path))
                        {
                            System.IO.Directory.CreateDirectory(path);
                        }
                        for (int i = 0; i < mail.NumRelatedItems; i++)
                        {
                            mail.SaveRelatedItem(i, path);
                            string replace = mail.GetRelatedContentID(i);
                            int pos = stringHTML.IndexOf(replace);
                            pos--;
                            while (stringHTML[pos].ToString() != "\"")
                            {
                                replace = stringHTML[pos].ToString() + replace;
                                pos--;
                            }
                            stringHTML = stringHTML.Replace(replace, path + "\\\\" + mail.GetRelatedFilename(i));
                        }
                    }
                    webHTML.DocumentText = stringHTML;

                }
                else
                {
                    webHTML.DocumentText = mail.GetPlainTextBody();
                }

                if (mail.NumAttachments == 0)
                {
                    checkedComboBoxEdit1.Visible = false;
                    btDownLoad.Visible = false;
                    lbAttach.Visible = false;
                }
                else
                {
                    checkedComboBoxEdit1.Visible = true;
                    lbAttach.Visible = true;
                    checkedComboBoxEdit1.Properties.Items.Clear();
                    for (int i = 0; i < mail.NumAttachments; i++)
                        checkedComboBoxEdit1.Properties.Items.Add(mail.GetAttachmentFilename(i));
                    checkedComboBoxEdit1.ResetText();
                    checkedComboBoxEdit1.Text = "Chọn file";
                }
                return true;
            }
            catch
            {
                return false;
            }
        }