private static void SetAccount(MailUser account) { MailServerFacade mailSCF = MailServerFacade.GetInstance(account); account.Validated = true; WebMailClientManager.SetAccount(account); }
protected void MailResearch_Mail(MailSelectedEventArgs e) { if (!e.UId.IsNullOrWhiteSpace()) { if (!(WebMailClientManager.CurrentMailExist() && e.UId.Trim() == WebMailClientManager.CurrentMailGet().Uid)) { MailServerConfigFacade configFacade = MailServerConfigFacade.GetInstance(); MailUser account = configFacade.GetUserByUserId(decimal.Parse(e.CurrentAccount)); MailServerFacade facade = MailServerFacade.GetInstance(account); account.Validated = true; WebMailClientManager.SetAccount(account); int idim = 0; WebMailClientManager.CurrentFolderSet(e.CurrentFolder); WebMailClientManager.ParentFolderSet(e.ParentFolder); if (e.Dimension != string.Empty) { idim = int.Parse(e.Dimension); } if (idim < int.Parse(ConfigurationManager.AppSettings["MaxMemoryDimensionForMailViewer"])) { MailViewer1.Initialize(e.UId, e.CurrRating, e.CurrentFolder, e.ParentFolder); pnlMail.Update(); } else { Message msg = new Message(); msg.Uid = e.UId; msg.Size = idim; WebMailClientManager.CurrentMailSet(msg); MailViewer1.Initialize(e.UId, e.Dimension, WebMailClientManager.CurrentFolderGet(), WebMailClientManager.ParentFolderGet()); pnlMail.Update(); } } } }
public HttpResponseMessage AbilitaUsers(string idemail, string itemselector) { FoldersSendersModel model = new FoldersSendersModel(); BackendUserService bus = new BackendUserService(); if (string.IsNullOrEmpty(idemail) && string.IsNullOrEmpty(itemselector)) { model.success = "false"; model.message = "Valori insufficienti nella richiesta"; this.Request.CreateResponse <FoldersSendersModel>(HttpStatusCode.OK, model); } try { // model.FoldersList = listaCartelleNonAbilitate.ToArray(); string[] users = itemselector.Split(';'); var usersAbilitati = bus.GetDipendentiDipartimentoAbilitati(int.Parse(idemail)).Select(z => z.UserId).ToArray(); var ff = Array.ConvertAll(usersAbilitati, x => x.ToString()); var usersda = users.Except(ff); var usersa = ff.Except(users); foreach (string s in usersda) { bus.InsertAbilitazioneEmail(Convert.ToInt32(s), Convert.ToInt32(idemail), 0); } foreach (string s in usersa) { { bus.RemoveAbilitazioneEmail(Convert.ToInt32(s), Convert.ToInt32(idemail)); } } MailUser m = WebMailClientManager.getAccount(); if (m != null) { WebMailClientManager.AccountRemove(); MailServerConfigFacade facade = MailServerConfigFacade.GetInstance(); MailUser account = facade.GetUserByUserId(m.UserId); MailServerFacade serverFacade = MailServerFacade.GetInstance(account); account.Validated = true; WebMailClientManager.SetAccount(account); } model.success = "true"; } catch (Exception ex) { if (!ex.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Eccezione nellA ABILITAZIONE UTENTI", "ERR_U005", string.Empty, ex.Message, null); ErrorLogInfo er = new ErrorLogInfo(mEx); er.objectID = idemail.ToString(); log.Error(er); model.success = "false"; model.message = mEx.Message; } else { model.success = "false"; model.message = ex.Message; } } return(this.Request.CreateResponse <FoldersSendersModel>(HttpStatusCode.OK, model)); }
public void ProcessRequest(HttpContext context) { bool response = false; string idMail = context.Request["idMail"]; string account = context.Request["account"]; int rating = -1; if (!String.IsNullOrEmpty(idMail) && !String.IsNullOrEmpty(account)) { int risp = 0; if (int.TryParse(context.Request["rating"], out rating) && (rating >= 0 && rating <= 4)) { try { MailServerFacade mailserverFacade = MailServerFacade.GetInstance((WebMailClientManager.getAccount())); risp = mailserverFacade.AssignMessageRating(idMail, rating); } catch (Exception e) { //TASK: Allineamento log - Ciro if (e.GetType() != typeof(ManagedException)) { ManagedException mEx = new ManagedException("Detagli errore: " + e.Message, "ERR_RAT", "", "", e); ErrorLogInfo err = new ErrorLogInfo(mEx); err.objectID = idMail; _log.Error(err); } //ErrorLog err = new ErrorLog("ERR_RAT", e, "", "", ""); //_log.Error(err); } } if (risp == 1) { response = true; } } context.Response.ContentType = "text/plain"; context.Response.Write(response.ToString().ToLower()); }
/// <summary> /// modificato per gestione folders todo modificare metodi move /// </summary> /// <param name="folder"></param> /// <param name="parentFolder"></param> /// <param name="mailAction"></param> /// <param name="mailIds"></param> /// <param name="message"></param> /// <param name="acc"></param> /// <returns></returns> private string DoAction(string folder, string parentFolder, int mailAction, string AllIds, string message, MailUser acc) { string[] mailIds = AllIds.Split(','); List <string> idMail = mailIds.Where(x => !String.IsNullOrEmpty(x)).ToList(); string utente = MySecurityProvider.CurrentPrincipal.MyIdentity.UserName; int folderMezzo = 0; int.TryParse(folder, out folderMezzo); if (folderMezzo == 0) { folderMezzo = 1; } if (Helpers.CanDo(parentFolder, mailAction.ToString(), idMail)) { MailServerFacade fac = MailServerFacade.GetInstance(acc); int resp = 0; string azione = Helpers.GetAzione(mailAction.ToString()); try { switch (mailAction) { case 1: resp = fac.MailMove(idMail, MailStatus.LETTA, mailAction.ToString(), utente, parentFolder); break; case 2: resp = fac.MailMove(idMail, MailStatus.SCARICATA, mailAction.ToString(), utente, parentFolder); break; default: // azioni generiche resp = fac.MailMove(idMail, MailStatus.LETTA, mailAction.ToString(), utente, parentFolder); break; } if (resp != idMail.Count) { message = "Errore nell'azione specificata"; } } catch (Exception e) { //Allineamento log - Ciro if (e.GetType() == typeof(ManagedException)) { ManagedException mEx = new ManagedException("Errore nell'azione specificata " + e.Message, "ERR_G004", string.Empty, string.Empty, e); ErrorLogInfo er = new ErrorLogInfo(mEx); er.objectID = Convert.ToString(idMail); log.Error(er); } message = "Errore nell'azione specificata " + e.Message; } } else if (((parentFolder == "O") || (parentFolder == "D") || (parentFolder == "AO")) && (mailIds.Length > 0) && (mailIds[0] != string.Empty)) { MailServerFacade fac = MailServerFacade.GetInstance(acc); int resp = 0; try { resp = fac.MailArchivia(idMail, utente, mailAction.ToString(), parentFolder); if (resp != idMail.Count) { message = "Errore nell'azione specificata"; } } catch (Exception e) { //Allineamento log - Ciro if (e.GetType() == typeof(ManagedException)) { ManagedException mEx = new ManagedException("Errore nell'azione specificata " + e.Message, "ERR_G005", string.Empty, string.Empty, e); ErrorLogInfo er = new ErrorLogInfo(mEx); er.objectID = Convert.ToString(idMail); log.Error(er); } message = "Errore nell'azione specificata " + e.Message; } } return(message); }
public HttpResponseMessage GetMails(int start, int limit, string folder, string parFolder, string mailAction, string mailIds, string filter, int page) { IEnumerable <Carrier> listCarrier = new List <Carrier>(); CarrierModel model = new CarrierModel(); int mailAct = 0; start++; if (mailAction.ToString() != "NaN") { mailAct = int.Parse(mailAction); } string message = null; MailUser acc = WebMailClientManager.getAccount(); if (string.IsNullOrEmpty(mailIds)) { mailIds = string.Empty; } message = DoAction(folder, parFolder, mailAct, mailIds, message, acc); ResultList <MailHeader> m = new ResultList <MailHeader>(start, limit, new List <MailHeader>(), 0); // IEnumerable<string> items = null; if (acc != null && acc.IsManaged && !String.IsNullOrEmpty(filter)) { DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(Filter)); System.IO.MemoryStream ms = new System.IO.MemoryStream(); byte[] res = new byte[filter.Length]; Encoding.UTF8.GetBytes(filter, 0, filter.Length, res, 0); ms.Write(res, 0, res.Length); ms.Seek(0, System.IO.SeekOrigin.Begin); Filter filtro = (Filter)s.ReadObject(ms); Dictionary <MailIndexedSearch, List <string> > sValues = new Dictionary <MailIndexedSearch, List <string> >(); if (filtro.text.tipo != MailIndexedSearch.UNKNOWN && (filtro.text.values != null && filtro.text.values.Length > 0)) { sValues.Add(filtro.text.tipo, filtro.text.values.ToList()); } if (filtro.status.tipo != MailIndexedSearch.UNKNOWN && (filtro.status.values != null && filtro.status.values.Length > 0)) { sValues.Add(filtro.status.tipo, filtro.status.values.Select(e => ((int)e).ToString()).ToList()); } MailLocalService mailService = new MailLocalService(); ResultList <MailHeaderExtended> rl = mailService.GetMailsByParams(acc.EmailAddress, folder, parFolder, sValues, start, limit); m.Per = rl.Per; m.List = (rl.List == null) ? null : rl.List.Cast <MailHeader>().ToList() as ICollection <MailHeader>; m.Totale = rl.Totale; } else { MailServerFacade mailServerFacade = MailServerFacade.GetInstance(acc); m = mailServerFacade.MailHeader_ResultList_Fetch(folder, parFolder, start, limit); } if (m != null && m.List != null) { CultureInfo ci = CultureInfo.InvariantCulture; System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Carrier)); if (acc.IsManaged) { listCarrier = m.List.Cast <MailHeaderExtended>().Select(h => { string mStatus = ""; string destinatario = ""; switch (parFolder) { case "I": mStatus = h.MailRating.ToString(); destinatario = h.From; break; case "O": case "AO": mStatus = ((int)h.MailStatus).ToString(); //per gestire il semaforo per gli invii da server non PEC if (!acc.IsPec && h.MailStatus == MailStatus.SENT) { mStatus = ((int)MailStatus.AVVENUTA_CONSEGNA).ToString(); } destinatario = h.To; break; default: MailUser muser = WebMailClientManager.getAccount(); string idnome = (from f in muser.Folders where f.Id.ToString() == folder select f.IdNome).First(); string tipo = (from f in muser.Folders where f.Id.ToString() == folder select f.TipoFolder).First(); switch (idnome) { case "1": case "3": mStatus = h.MailRating.ToString(); destinatario = h.From; break; case "2": mStatus = ((int)h.MailStatus).ToString(); //per gestire il semaforo per gli invii da server non PEC if (!acc.IsPec && h.MailStatus == MailStatus.SENT) { mStatus = ((int)MailStatus.AVVENUTA_CONSEGNA).ToString(); } destinatario = h.To; break; default: switch (tipo) { case "E": mStatus = h.MailRating.ToString(); destinatario = h.From; break; case "D": mStatus = ((int)h.MailStatus).ToString(); //per gestire il semaforo per gli invii da server non PEC if (!acc.IsPec && h.MailStatus == MailStatus.SENT) { mStatus = ((int)MailStatus.AVVENUTA_CONSEGNA).ToString(); } destinatario = h.To; break; } break; } break; } ActiveUp.Net.Mail.Address add = ActiveUp.Net.Mail.Parser.ParseAddress(destinatario); if (String.IsNullOrEmpty(add.Name)) { destinatario = add.Email; } else { destinatario = System.Text.RegularExpressions.Regex.Replace(add.Name, "Per conto di:?", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Trim(); if (destinatario.EndsWith("\"")) { destinatario.Replace("\"", ""); } } Carrier c = new Carrier { id = h.UniqueId, from = destinatario.Replace("\r", "").Replace("\n", "").Replace("\t", "").Replace("\"", "\\\""), date = h.Date.ToString("dd/MM/yyyy HH:mm:ss", ci), subject = h.Subject.Replace("\"", "\\\""), sStatus = mStatus, mStatus = ((int)h.MailStatus).ToString(), attach = Convert.ToInt16(h.HasAttachments).ToString(), utente = ((h.MailStatus == MailStatus.SCARICATA) ? "" : h.Utente), dimen = h.Dimensione }; return(c); //System.IO.MemoryStream ms = new System.IO.MemoryStream(); //ser.WriteObject(ms, c); //string jsonString = Encoding.UTF8.GetString(ms.ToArray()); //ms.Close(); //return jsonString; }); } else { listCarrier = m.List.Select(h => { Carrier c = new Carrier() { id = h.UniqueId, from = h.From.Replace("\r", "").Replace("\n", "").Replace("\t", "").Replace("\"", "\\\""), date = h.Date.ToString("dd/MM/yyyy HH:mm:ss", ci), subject = h.Subject.Replace("\"", "\\\""), mStatus = ((int)MailStatus.UNKNOWN).ToString(), sStatus = "", attach = "" }; return(c); //System.IO.MemoryStream ms = new System.IO.MemoryStream(); //ser.WriteObject(ms, c); //string jsonString = Encoding.UTF8.GetString(ms.ToArray()); //ms.Close(); //return jsonString; }); } } else { model.Message = "Nessun ritrovamento"; return(this.Request.CreateResponse <CarrierModel>(HttpStatusCode.OK, model)); //message = "Nessun ritrovamento"; } //StringBuilder sb = new StringBuilder(); //sb.Append("{\"TotalCount\":\"" + m.Totale.ToString() + "\","); //sb.Append("\"Message\":\"" + message + "\""); //if (items != null) //{ // sb.Append(",\"Data\":[" + String.Join(",", items.ToArray()) + "]"); //} //else //{ // sb.Append(",\"Data\": []"); //} //sb.Append("}"); model.TotalCount = m.Totale.ToString(); model.data = listCarrier.ToList(); model.success = "true"; return(this.Request.CreateResponse <CarrierModel>(HttpStatusCode.OK, model)); //context.Response.ContentType = "application/json"; //context.Response.AppendHeader("Content-type", "text/json"); //context.Response.Write(sb.ToString()); }
protected void Button1_Click(object sender, EventArgs e) { try { Message msg; ComunicazioniService comunicazioniService = new ComunicazioniService(); if (MailMessageComposer.CurrentSendMailExist()) { msg = MailMessageComposer.CurrentSendMailGet(); } else { msg = new Message(); } msg.Subject = SubjectTextBox.Text; if (String.IsNullOrEmpty(ToTextBox.Text.Trim()) && String.IsNullOrEmpty(CCTextBox.Text.Trim()) && String.IsNullOrEmpty(BCCTextBox.Text.Trim())) { ErrorLabel.Text = "Inserire almeno un destinatario"; ErrorLabel.Visible = true; return; } msg.To.Clear(); msg.Cc.Clear(); msg.Bcc.Clear(); this.addEmailsTo(ToTextBox.Text, msg); this.addEmailsCc(CCTextBox.Text, msg); this.addEmailCcn(BCCTextBox.Text, msg); msg.Date = System.DateTime.Now; //mantengo il vecchio testo perché in caso di ErrorEventArgs lo devo ripristinare bodyBag = msg.BodyHtml.Text; SendMail.Model.BodyChunk bb = new SendMail.Model.BodyChunk(); string txt = BodyTextBox.Text; string[] lst = txt.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); foreach (string l in lst) { bb.Line.Add(l); } //inserisco il testo libero in testa a quello preformattato HtmlNode newNode = null; if (bb.Line.Count != 0) { newNode = HtmlNode.CreateNode(bb.getAsHtml()); } HtmlDocument d = new HtmlDocument(); if (!String.IsNullOrEmpty(PreformattedBody.Text)) { d.LoadHtml(PreformattedBody.Text); } if (newNode != null) { if (d.DocumentNode.Descendants().Count() != 0) { HtmlNode root = d.DocumentNode.Descendants().SingleOrDefault(x => x.Name.Equals("body", StringComparison.InvariantCultureIgnoreCase)); if (root == null) { root = d.DocumentNode.Descendants().FirstOrDefault(x => x.NodeType == HtmlNodeType.Element); } if (root != null) { root.PrependChild(newNode); } else { d.DocumentNode.PrependChild(newNode); } } else { d.DocumentNode.PrependChild(newNode); } } msg.BodyHtml.Text = d.DocumentNode.InnerHtml; //se non sono inclusi gli allegati originali if (MailEditabile == true && cbIncludiAllegati.Checked == false) { for (int i = 0; i < msg.Attachments.Count; i++) { //rimuovo gli allegati originali if (msg.Attachments[i].ParentMessage != null) { msg.Attachments.RemoveAt(i); } } } foreach (MimePart mm in msg.Attachments) { if (mm.BinaryContent == null || mm.BinaryContent.Length < 10) { if (!String.IsNullOrEmpty(mm.ContentId)) { string idAttach = mm.ContentId.Trim(new char[] { '<', '>' }); long idAtt = -1; if (long.TryParse(idAttach, out idAtt)) { ComAllegato all = comunicazioniService .LoadAllegatoComunicazioneById(long.Parse(idAttach)); mm.BinaryContent = all.AllegatoFile; } } } } switch (CurrentAction) { case MailActions.REPLY_TO: case MailActions.REPLY_ALL: case MailActions.RE_SEND: case MailActions.FORWARD: msg.InReplyTo = msg.Id.ToString(); break; } ActiveUp.Net.Mail.DeltaExt.MailUser mailUser = null; if (WebMailClientManager.AccountExist()) { mailUser = WebMailClientManager.getAccount(); } if (mailUser != null) { MailServerFacade f = MailServerFacade.GetInstance(mailUser); if (mailUser.IsManaged) { try { SendMail.Model.ComunicazioniMapping.Comunicazioni c = new SendMail.Model.ComunicazioniMapping.Comunicazioni( SendMail.Model.TipoCanale.MAIL, this.SottoTitolo, msg, MySecurityProvider.CurrentPrincipal.MyIdentity.UserName, 2, "O"); if (c.MailComunicazione.MailRefs != null && c.MailComunicazione.MailRefs.Count != 0) { c.RubricaEntitaUsed = (from cont in c.MailComunicazione.MailRefs select new SendMail.Model.ComunicazioniMapping.RubrEntitaUsed { Mail = cont.MailDestinatario, TipoContatto = cont.TipoRef }).ToList(); } comunicazioniService.InsertComunicazione(c); } catch (Exception ex) { ManagedException mex = new ManagedException("Errore nel salvataggio della mail", "MAIL_CMP_002", "", ex.StackTrace, ex); ErrorLog err = new ErrorLog(mex); _log.Error(err); ErrorLabel.Text = "Errore nell'invio del messaggio"; ErrorLabel.Visible = true; return; } } else { f.sendMail(msg); } (this.Page as BasePage).info.AddInfo("Il messaggio e' stato spedito correttamente"); MailMessageComposer.CurrentSendMailClear(); onMailSent(); } else { ((BasePage)this.Page).info.AddInfo("Account inesistente."); } } catch (Exception ex) { if (ex.GetType() != typeof(ManagedException)) { _log.Error(new Com.Delta.Logging.Errors.ErrorLog(new ManagedException(ex.Message, "FAC_007", string.Empty, string.Empty, ex))); } //_log.Error(new Com.Delta.Logging.Errors.ErrorLog("FAC_007", ex, string.Empty, string.Empty, string.Empty)); MailMessageComposer.CurrentSendMailGet().BodyHtml.Text = bodyBag; ErrorLabel.Visible = true; ErrorLabel.Text = ex.Message; return; } Label5.Visible = true; }
//public SendMail.Business.Contracts.PrintDirectorTpu.ITpuService TpuService //{ // get { return SendMail.Business.PrintDirectorTpu.TpuService.Instance; } //} public Com.Delta.Mail.Facades.IMailServerFacade getMailServerFacade(MailUser user) { return(MailServerFacade.GetInstance(user)); }
public HttpResponseMessage SendMailExt(FormDataCollection collection) { MailModel model = new MailModel(); string bodyBag; try { Message msg; ComunicazioniService comunicazioniService = new ComunicazioniService(); if (MailMessageComposer.CurrentSendMailExist()) { msg = MailMessageComposer.CurrentSendMailGet(); } else { msg = new Message(); } msg.Subject = collection["Oggetto"]; if (String.IsNullOrEmpty(collection["DestinatarioA"]) && String.IsNullOrEmpty(collection["DestinatarioCC"]) && String.IsNullOrEmpty(collection["DestinatarioBCC"])) { model.message = "Inserire almeno un destinatario"; model.success = "false"; return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); } msg.To.Clear(); msg.Cc.Clear(); msg.Bcc.Clear(); this.addEmailsTo(collection["DestinatarioA"].Trim(), msg); if (!(string.IsNullOrEmpty(collection["DestinatarioCC"]))) { this.addEmailsCc(collection["DestinatarioCC"], msg); } if (!(string.IsNullOrEmpty(collection["DestinatarioBCC"]))) { this.addEmailCcn(collection["DestinatarioBCC"], msg); } msg.Date = System.DateTime.Now; //mantengo il vecchio testo perché in caso di ErrorEventArgs lo devo ripristinare bodyBag = msg.BodyHtml.Text; SendMail.Model.BodyChunk bb = new SendMail.Model.BodyChunk(); string txt = collection["TestoMail"]; string[] lst = txt.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); foreach (string l in lst) { bb.Line.Add(l); } //inserisco il testo libero in testa a quello preformattato HtmlNode newNode = null; if (bb.Line.Count != 0) { newNode = HtmlNode.CreateNode(bb.getAsHtml()); } HtmlDocument d = new HtmlDocument(); if (newNode != null) { if (d.DocumentNode.Descendants().Count() != 0) { HtmlNode root = d.DocumentNode.Descendants().SingleOrDefault(x => x.Name.Equals("body", StringComparison.InvariantCultureIgnoreCase)); if (root == null) { root = d.DocumentNode.Descendants().FirstOrDefault(x => x.NodeType == HtmlNodeType.Element); } if (root != null) { root.PrependChild(newNode); } else { d.DocumentNode.PrependChild(newNode); } } else { d.DocumentNode.PrependChild(newNode); } } msg.BodyHtml.Text = d.DocumentNode.InnerHtml; //se non sono inclusi gli allegati originali if (!(string.IsNullOrEmpty(collection["IncludiAllegati"])) && collection["IncludiAllegati"].ToUpper() == "FALSE") { for (int i = 0; i < msg.Attachments.Count; i++) { //rimuovo gli allegati originali if (msg.Attachments[i].ParentMessage != null) { msg.Attachments.RemoveAt(i); } } } msg.InReplyTo = msg.Id.ToString(); ActiveUp.Net.Mail.DeltaExt.MailUser mailUser = null; if (WebMailClientManager.AccountExist()) { mailUser = WebMailClientManager.getAccount(); } if (mailUser != null) { MailServerFacade f = MailServerFacade.GetInstance(mailUser); msg.From = new Address(mailUser.Casella); if (mailUser.IsManaged) { try { SendMail.Model.ComunicazioniMapping.Comunicazioni c = new SendMail.Model.ComunicazioniMapping.Comunicazioni( SendMail.Model.TipoCanale.MAIL, "0", msg, MySecurityProvider.CurrentPrincipal.MyIdentity.UserName, 2, "O"); if (c.MailComunicazione.MailRefs != null && c.MailComunicazione.MailRefs.Count != 0) { c.RubricaEntitaUsed = (from cont in c.MailComunicazione.MailRefs select new SendMail.Model.ComunicazioniMapping.RubrEntitaUsed { Mail = cont.MailDestinatario, TipoContatto = cont.TipoRef }).ToList(); } if (SessionManager <Dictionary <string, DTOFileUploadResult> > .exist(SessionKeys.DTO_FILE)) { Dictionary <string, DTOFileUploadResult> dictDto = SessionManager <Dictionary <string, DTOFileUploadResult> > .get(SessionKeys.DTO_FILE); List <DTOFileUploadResult> dto = (List <DTOFileUploadResult>)dictDto.Values.ToList(); c.ComAllegati = new List <ComAllegato>(); foreach (DTOFileUploadResult dd in dto) { ComAllegato allegato = new SendMail.Model.ComunicazioniMapping.ComAllegato(); allegato.AllegatoExt = dd.Extension; allegato.AllegatoFile = dd.CustomData; allegato.AllegatoName = dd.FileName; allegato.AllegatoTpu = ""; allegato.FlgInsProt = AllegatoProtocolloStatus.FALSE; allegato.FlgProtToUpl = AllegatoProtocolloStatus.FALSE; c.ComAllegati.Add(allegato); } } foreach (MimePart mm in msg.Attachments) { if (mm.BinaryContent != null || mm.BinaryContent.Length > 10) { if (c.ComAllegati == null) { c.ComAllegati = new List <ComAllegato>(); } ComAllegato allegato = new SendMail.Model.ComunicazioniMapping.ComAllegato(); FileInfo info = new FileInfo(mm.Filename); allegato.AllegatoExt = info.Extension; allegato.AllegatoFile = mm.BinaryContent; allegato.AllegatoName = mm.Filename; allegato.AllegatoTpu = ""; allegato.FlgInsProt = AllegatoProtocolloStatus.FALSE; allegato.FlgProtToUpl = AllegatoProtocolloStatus.FALSE; c.ComAllegati.Add(allegato); } } comunicazioniService.InsertComunicazione(c); } catch (Exception ex) { ManagedException mex = new ManagedException("Errore nel salvataggio della mail", "MAIL_CMP_002", "", ex.StackTrace, ex); ErrorLog err = new ErrorLog(mex); log.Error(err); model.message = "Errore nell'invio del messaggio"; model.success = "false"; return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); } } else { f.sendMail(msg); } model.message = "Email memorizzata correttamente"; model.success = "true"; return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); } else { model.message = "Account inesistente"; model.success = "false"; return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); } } catch (Exception ex) { if (ex.GetType() != typeof(ManagedException)) { log.Error(new Com.Delta.Logging.Errors.ErrorLog(new ManagedException(ex.Message, "FAC_007", string.Empty, string.Empty, ex))); } model.message = ex.Message; model.success = "false"; return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); } model.message = "Email memorizzata correttamente"; model.success = "true"; return(this.Request.CreateResponse <MailModel>(HttpStatusCode.OK, model)); }
public HttpResponseMessage AbilitaFolders(string idemail, string itemselector) { FoldersSendersModel model = new FoldersSendersModel(); SendersFoldersService sfs = new SendersFoldersService(); if (string.IsNullOrEmpty(idemail) && string.IsNullOrEmpty(itemselector)) { model.success = "false"; model.message = "Valori insufficienti nella richiesta"; this.Request.CreateResponse <FoldersSendersModel>(HttpStatusCode.OK, model); } try { // model.FoldersList = listaCartelleNonAbilitate.ToArray(); string[] folders = itemselector.Split(';'); var foldersAbilitati = sfs.GetFoldersAbilitatiByIdSender(int.Parse(idemail)).Select(z => z.IdNome).ToArray(); var ff = Array.ConvertAll(foldersAbilitati, x => x.ToString()); var foldersda = folders.Except(ff); var foldersa = ff.Except(folders); foreach (string s in foldersda) { sfs.InsertAbilitazioneFolder(Convert.ToInt32(s), Convert.ToInt32(idemail), 0); } foreach (string s in foldersa) { if (s != "1" && s != "2" && s != "3") { sfs.DeleteAbilitazioneFolder(Convert.ToInt32(s), Convert.ToInt32(idemail)); } } MailUser m = WebMailClientManager.getAccount(); if (m != null) { WebMailClientManager.AccountRemove(); MailServerConfigFacade facade = MailServerConfigFacade.GetInstance(); MailUser account = facade.GetUserByUserId(m.UserId); MailServerFacade serverFacade = MailServerFacade.GetInstance(account); account.Validated = true; WebMailClientManager.SetAccount(account); } model.success = "true"; MailLocalService mailLocalService = new MailLocalService(); CacheManager <List <ActiveUp.Net.Common.DeltaExt.Action> > .set(CacheKeys.FOLDERS_ACTIONS, mailLocalService.GetFolderDestinationForAction()); } catch (Exception ex) { if (!ex.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Eccezione nella lettura delle cartelle", "ERR_F005", string.Empty, ex.Message, null); ErrorLogInfo er = new ErrorLogInfo(mEx); er.objectID = idemail.ToString(); log.Error(er); model.success = "false"; model.message = mEx.Message; } else { model.success = "false"; model.message = ex.Message; } } return(this.Request.CreateResponse <FoldersSendersModel>(HttpStatusCode.OK, model)); }