protected void MailResearch_Mail(RicercaMail.MailSelectedEventArgs e) { if (!e.UId.IsNullOrWhiteSpace()) { if (!(WebMailClientManager.CurrentMailExist() && e.UId.Trim() == WebMailClientManager.CurrentMailGet().Uid)) { MailServerConfigFacade mailserveconfigfacade = MailServerConfigFacade.GetInstance(); MailUser account = mailserveconfigfacade.GetUserByUserId(decimal.Parse(e.CurrentAccount)); 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.CurrRating, WebMailClientManager.CurrentFolderGet(), WebMailClientManager.ParentFolderGet()); pnlMail.Update(); } } } }
protected void ddlManagedAccounts_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = sender as DropDownList; decimal userId = decimal.Parse(ddl.SelectedValue); MailServerConfigFacade mailSCF = MailServerConfigFacade.GetInstance(); if (userId != -1) { try { MailUser account = mailSCF.GetUserByUserId(userId); SetAccount(account); ddlManagedAccounts.SelectedIndex = 0; } catch { ((BasePage)this.Page).info.AddError("Connessione al mail server impossibile, controllare le credenziali"); } } else { WebMailClientManager.AccountRemove(); } OnStatusChanged(); }
protected void odsMailConfig_ObjectCreating(object sender, ObjectDataSourceEventArgs e) { if (this.IdSender_ViewState != decimal.MinusOne) { try { MailServerConfigFacade serverFacade = MailServerConfigFacade.GetInstance(); e.ObjectInstance = serverFacade.GetUserByUserId(this.IdSender_ViewState); } catch (Exception ex) { if (ex.GetType() != typeof(ManagedException)) { ManagedException mEx = new ManagedException("Errore nel caricamento della configurazione della mail", "CM007", string.Empty, string.Empty, ex.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); err.loggingAppCode = "WEB_MAIL"; err.objectID = this.Context.Session.SessionID; log.Error(err); info.AddMessage(ex.Message, Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); } else { info.AddMessage(ex.Message, Com.Delta.Messaging.MapperMessages.LivelloMessaggio.ERROR); } } } else { e.ObjectInstance = new MailUser(); } }
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 HttpResponseMessage Comunicazione(FormDataCollection formsValues) { string regexMail = RegexUtils.EMAIL_REGEX.ToString(); TitoliModel model = new TitoliModel(); try { List <ComAllegato> allegati = new List <ComAllegato>(); SendMail.Model.ComunicazioniMapping.Comunicazioni comun = new SendMail.Model.ComunicazioniMapping.Comunicazioni(); string destinatario = formsValues["Destinatario"]; string conoscenza = formsValues["Conoscenza"]; string bcc = formsValues["BCC"]; string oggetto = formsValues["Oggetto"]; string testoMail = formsValues["TestoMail"]; string titolo = formsValues["Titolo"]; string sottotitolo = formsValues["SottoTitolo"]; string userid = formsValues["SenderMail"]; 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(); foreach (DTOFileUploadResult d in dto) { SendMail.Model.ComunicazioniMapping.ComAllegato allegato = new SendMail.Model.ComunicazioniMapping.ComAllegato(); allegato.AllegatoExt = d.Extension; allegato.AllegatoFile = d.CustomData; allegato.AllegatoName = d.FileName; allegato.AllegatoTpu = ""; allegato.FlgInsProt = AllegatoProtocolloStatus.FALSE; allegato.FlgProtToUpl = AllegatoProtocolloStatus.FALSE; allegati.Add(allegato); } } comun.ComAllegati = allegati; string[] destinatari = destinatario.Split(';'); for (int i = 0; i < destinatari.Length; i++) { var match = Regex.Match(destinatari[i], regexMail, RegexOptions.IgnoreCase); if (!match.Success) { model.success = "false"; model.message = "Attenzione mail destinatario non valida"; return(this.Request.CreateResponse <TitoliModel>(HttpStatusCode.OK, model)); } } // gestione destinatari ContactsApplicationMapping c = new ContactsApplicationMapping { Mail = destinatario, IdSottotitolo = long.Parse(sottotitolo), IdTitolo = long.Parse(titolo) }; Collection <ContactsApplicationMapping> en = new Collection <ContactsApplicationMapping>(); en.Add(c); if (conoscenza != string.Empty) { string[] conoscenze = conoscenza.Split(';'); for (int i = 0; i < conoscenze.Length; i++) { var match = Regex.Match(conoscenze[i], regexMail, RegexOptions.IgnoreCase); if (!match.Success) { model.success = "false"; model.message = "Attenzione mail conoscenza non valida"; return(this.Request.CreateResponse <TitoliModel>(HttpStatusCode.OK, model)); } } ContactsApplicationMapping c1 = new ContactsApplicationMapping { Mail = conoscenza, IdSottotitolo = long.Parse(sottotitolo), IdTitolo = long.Parse(titolo) }; Collection <ContactsApplicationMapping> en1 = new Collection <ContactsApplicationMapping>(); en1.Add(c1); comun.SetMailDestinatari(en1, AddresseeType.CC); } if (bcc != string.Empty) { string[] bccs = bcc.Split(';'); for (int i = 0; i < bcc.Length; i++) { var match = Regex.Match(bccs[i], regexMail, RegexOptions.IgnoreCase); if (!match.Success) { model.success = "false"; model.message = "Attenzione mail destinatario nascosto non valido"; return(this.Request.CreateResponse <TitoliModel>(HttpStatusCode.OK, model)); } } ContactsApplicationMapping c2 = new ContactsApplicationMapping { Mail = bcc, IdSottotitolo = long.Parse(sottotitolo), IdTitolo = long.Parse(titolo) }; Collection <ContactsApplicationMapping> en2 = new Collection <ContactsApplicationMapping>(); en2.Add(c2); comun.SetMailDestinatari(en2, AddresseeType.CCN); } comun.SetMailDestinatari(en, AddresseeType.TO); // gestione body email MailContent content = new MailContent(); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); string html = testoMail; HtmlAgilityPack.HtmlNode body = null; if (string.IsNullOrEmpty(html) == false) { doc.LoadHtml(html); doc.OptionAutoCloseOnEnd = true; doc.OptionFixNestedTags = true; body = doc.DocumentNode.Descendants() .Where(n => n.Name.Equals("body", StringComparison.InvariantCultureIgnoreCase)) .FirstOrDefault(); } var ele = new HtmlAgilityPack.HtmlNode(HtmlAgilityPack.HtmlNodeType.Element, doc, 0); ele.Name = "div"; ele.InnerHtml = testoMail; content.MailSubject = oggetto; content.MailText = ele.OuterHtml; // gestione sender MailServerConfigFacade mailSCF = MailServerConfigFacade.GetInstance(); MailUser mailuser = mailSCF.GetUserByUserId(decimal.Parse(userid)); content.MailSender = mailuser.EmailAddress; c.IdTitolo = long.Parse(titolo); c.IdSottotitolo = long.Parse(sottotitolo); comun.UtenteInserimento = MySecurityProvider.CurrentPrincipal.MyIdentity.UserName; comun.MailComunicazione = content; // da scommentare comun.FolderTipo = "O"; comun.FolderId = 2; ComunicazioniService com = new ComunicazioniService(); com.InsertComunicazione(comun); model.success = "true"; SessionManager <Dictionary <string, DTOFileUploadResult> > .del(SessionKeys.DTO_FILE); } catch (Exception ex) { if (ex.GetType() != typeof(ManagedException)) { ManagedException mEx = new ManagedException("Errore invio nuova mail. Dettaglio: " + ex.Message + "StackTrace: " + ((ex.StackTrace != null) ? ex.StackTrace.ToString() : " vuoto "), "ERR317", string.Empty, string.Empty, ex.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); log.Error(err); model.success = "false"; model.message = ex.Message; return(this.Request.CreateResponse <TitoliModel>(HttpStatusCode.OK, model)); } } return(this.Request.CreateResponse <TitoliModel>(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)); }