Exemplo n.º 1
0
        private void ShowEmailMessage(object sender, EventArgs e)
        {
            long index = long.Parse(lv_messages.SelectedIndices[0].ToString());
              int uid = int.Parse(lv_messages.SelectedItems[0].SubItems[1].Text);
              ImapX.Message dmsg = (ImapX.Message)inbox.Where(x => (long)x.UId == uid).First();

              dmsg.Seen = true;
              PopulateMailList();

              ViewMail viewForm = new ViewMail(contacts, login, dmsg);
              viewForm.Show();
        }
Exemplo n.º 2
0
        public HttpResponseMessage GetMail(int idmail, string tipo)
        {
            ActiveUp.Net.Mail.DeltaExt.MailUser mailUser = WebMailClientManager.getAccount();
            SessionManager <Dictionary <string, DTOFileUploadResult> > .del(SessionKeys.DTO_FILE);

            MailModel model = new MailModel();

            SessionManager <List <ViewAttachement> > .del(SessionKeys.ATTACHEMENTS_LIST);

            ViewMail v = new ViewMail();

            if (mailUser == null)
            {
                model.message = "Account non selezionato";
                model.success = "false";
                return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model));
            }
            try
            {
                Message msg = GetCurrentMessage();
                if (msg == null)
                {
                    model.message = "Messaggio non valido ripetere la selezione";
                    model.success = "false";
                    return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model));
                }
                v.Mail = mailUser.EmailAddress;
                if (tipo != "f")
                {
                    if (selectEmail(msg.To).Contains(mailUser.EmailAddress))
                    {
                        List <Address> l = msg.To.Where(x => !x.Email.Equals(mailUser.EmailAddress)).ToList();
                        v.DestinatarioA = string.Join(";", (from e in l
                                                            select e.Email).ToArray());
                        v.DestinatarioA += msg.From.Email;
                    }
                    else
                    {
                        v.DestinatarioA = msg.From.Email;
                    }
                }
                v.DestinatarioABlank = false;
                if (selectEmail(msg.Cc).Contains(mailUser.EmailAddress))
                {
                    List <Address> lc = msg.Cc.Where(x => !x.Email.Equals(mailUser.EmailAddress)).ToList();
                    v.DestinatarioCC = string.Join(";", (from e in lc
                                                         select e.Email).ToArray());
                }
                v.Oggetto            = String.Concat("Re:", msg.Subject);
                v.TestoMailOriginale = msg.BodyText.TextStripped;
                v.Allegati           = new List <ViewAttachement>();
                if (msg.Attachments.Count > 0)
                {
                    foreach (MimePart a in msg.Attachments)
                    {
                        ViewAttachement va = new ViewAttachement();
                        va.NomeFile   = a.Filename;
                        va.ContentiId = a.ContentId;
                        va.Dimensione = a.Size;
                        v.Allegati.Add(va);
                    }
                }
                model.Mail = new List <ViewMail>();
                model.Mail.Add(v);
                model.success = "true";
                model.Totale  = "1";
                SessionManager <List <ViewAttachement> > .set(SessionKeys.ATTACHEMENTS_LIST, model.Mail.FirstOrDefault().Allegati);
            }
            catch (Exception bex)
            {
                if (bex.GetType() != typeof(ManagedException))
                {
                    ManagedException mEx = new ManagedException(bex.Message, "ERR_E005", string.Empty, string.Empty, bex);
                    ErrorLogInfo     er  = new ErrorLogInfo(mEx);
                    log.Error(er);
                    model.success = "false";
                    model.message = bex.Message;
                    return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model));
                }
            }
            return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model));
        }
Exemplo n.º 3
0
        private void lstHome_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ViewMail mw = new ViewMail();

            mw.ShowDialog();
        }