//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; } }