public string ObterDiretorioAnexoEmail() { var configuracao = new Configuracao(); configuracao.SetarUrlEmailAnexos(); var retorno = _servicoConfiguracao.ObterPorSigla(configuracao.Sigla); return(retorno != null ? retorno.Valor : "Endereço de Diretório de Anexo não cadastrado"); }
public ValidationResult Adicionar(EmailViewModel viewModel, string userId) { ValidarNovoEmail(viewModel); if (!viewModel.ValidationResult.IsValid) { return(viewModel.ValidationResult); } var envolvidos = CarregarEnvolvidos(viewModel); if (viewModel.EmailPaiId.HasValue) { var emailPai = _emailServico.ObterEmailCompletoPor((long)viewModel.EmailPaiId, null); if (emailPai != null) { viewModel.PessoaJuridicaId = emailPai.Atividade.PessoasJuridicasId; viewModel.PessoaFisicaId = emailPai.Atividade.PessoasFisicasId; viewModel.PotencialClienteId = emailPai.Atividade.PotenciaisClientesId; viewModel.AtividadePaiId = emailPai.AtividadeId; viewModel.OcorrenciaId = emailPai.Atividade.OcorrenciaId; } } _indentificadorEmail = viewModel.IdentificadorEmail == "" ? Guid.NewGuid().ToString() : viewModel.IdentificadorEmail; var configuracao = new Configuracao(); configuracao.SetarUrlEmailAnexos(); var diretorioArquivos = _configuracaoServico.ObterPorSigla(configuracao.Sigla).Valor; var configuracaoContaEmail = _configuracaoContaEmailServico.ObterPorId((int)viewModel.ConfiguracaoContaEmaild); envolvidos.Add(new AtividadeParteEnvolvida(configuracaoContaEmail.Email, null, TipoParteEnvolvida.Remetente.Value)); var htmlCompleto = @"<span style='color:white;mso-themecolor:background1'>IdEmailInicio[EmailId]|" + DateTime.Now + "IdEmailFim <o:p></o:p></span>"; viewModel.Html = viewModel.Html.Replace("style='pointer-events:none;'", "") + htmlCompleto; SalvarImagensTexto(viewModel, diretorioArquivos); ProcessarAnexos(viewModel.Anexos, diretorioArquivos); viewModel.ValidationResult = _emailServico.AdicionarEmail(userId, null, null, viewModel.OcorrenciaId, viewModel.ContratoId, viewModel.AtendimentoId, viewModel.PessoaFisicaId, viewModel.PessoaJuridicaId, viewModel.PotencialClienteId, viewModel.AtividadePaiId, viewModel.Assunto, null, configuracaoContaEmail.Email, viewModel.Html, viewModel.Texto, null, null, "S", viewModel.Assunto, viewModel.EmailPaiId, configuracaoContaEmail.Id, (int)configuracaoContaEmail.FilasId, envolvidos, _anexos, null, _indentificadorEmail).ValidationResult; return(viewModel.ValidationResult); }
public IEnumerable <EmailAnexosViewModel> CarregarAnexos(long atividadeId) { var retorno = new List <EmailAnexosViewModel>(); var configuracao = new Configuracao(); configuracao.SetarUrlEmailAnexos(); var anexos = _emailAnexoServico.ObterAnexos(atividadeId).Where(c => c.ImagemCorpo == false); retorno.AddRange( anexos.Select( anexo => new EmailAnexosViewModel(anexo.Id, anexo.Nome, anexo.Path, anexo.Tamanho, anexo.Extensao))); return(retorno); }
public EmailFormViewModel TratarEmail(EmailFormViewModel model) { ValidarRegrasEmail(model); if (!model.ValidationResult.IsValid) { return(model); } var envolvidos = CarregarEnvolvidos(model); if (model.EmailPaiId.HasValue) { var emailPai = _emailServico.ObterEmailCompletoPor((long)model.EmailPaiId, null); if (emailPai != null) { model.PessoaJuridicaId = emailPai.Atividade.PessoasJuridicasId; model.PessoaFisicaId = emailPai.Atividade.PessoasFisicasId; model.AtividadePaiId = emailPai.AtividadeId; } } var configuracao = new Configuracao(); configuracao.SetarUrlEmailAnexos(); var diretorioArquivos = _configuracaoServico.ObterPorSigla(configuracao.Sigla).Valor; if (model.ConfiguracaoContaEmailId.HasValue) { var configuracaoContaEmail = _configuracaoContaEmailServico.ObterPorId((int)model.ConfiguracaoContaEmailId); model.Remetente = configuracaoContaEmail.Email; model.FilaId = configuracaoContaEmail.FilasId; } var htmlCompleto = @"<span style='color:white;mso-themecolor:background1'>IdEmailInicio[EmailId]|" + DateTime.Now + "IdEmailFim <o:p></o:p></span>"; model.Html = model.Html.Replace("style='pointer-events:none;'", "") + htmlCompleto; SalvarImagensTexto(model, diretorioArquivos); ProcessarAnexos(model.Anexos, diretorioArquivos); var email = _emailServico.Novo(model.UsuarioId, model.UsuarioId, null, model.OcorrenciaId, null, model.AtendimentoId, model.PessoaFisicaId, model.PessoaJuridicaId, null, model.AtividadePaiId, model.Assunto, null, model.Remetente, model.Html, model.Html, null, null, model.Sentido, model.Assunto, model.EmailPaiId, model.ConfiguracaoContaEmailId, model.FilaId, envolvidos, _anexos, model.StatusId, Guid.NewGuid().ToString()); if (email.ValidationResult.IsValid) { model.AtividadeId = email.AtividadeId; model.EmailId = email.Id; } else { model.ValidationResult = email.ValidationResult; } return(model); }
private static void Run(ConfiguracaoContasEmails configuracaoContaEmail, Container container, IEmailServico emailServico, IConfiguracaoServico configuracaoServico, IAtividadeServico atividadeServico, IFilaServico filaServico, List <EmailRemetenteRegra> emailsSpamFila) { var dirLog = ConfigurationManager.AppSettings["DiretorioLog"]; try { var uIdsExistentes = (List <Email>)emailServico.ObterUids(configuracaoContaEmail.Id); var configuracao = new Configuracao(); configuracao.SetarUrlEmailAnexos(); var pathPadrao = configuracaoServico.ObterPorSigla(configuracao.Sigla); //using ( // var ic = new ImapClient(configuracaoContaEmail.ServidorPop, configuracaoContaEmail.UsuarioEmail, // configuracaoContaEmail.SenhaEmail, AuthMethods.Login, // configuracaoContaEmail.PortaServidorEntrada, true, true)) //{ // ic.SelectMailbox("inbox"); // var iDiasAMenos = -3; // var messages = // ic.SearchMessages( // new SearchCondition() // { // Field = SearchCondition.Fields.SentSince, // Value = // DateTime.Now.AddDays(iDiasAMenos) // .ToString("dd-MMM-yyyy", new System.Globalization.CultureInfo("en-US")) // }, true, // false); // if (!messages.Any()) return; // var uIdsExistentes = (List<Email>)emailServico.ObterUids(configuracaoContaEmail.Id); // var configuracao = new Configuracao(); // configuracao.SetarUrlEmailAnexos(); // var pathPadrao = configuracaoServico.ObterPorSigla(configuracao.Sigla); // if (configuracaoContaEmail.FilasId != null) // { // var fila = filaServico.ObterPorId((int)configuracaoContaEmail.FilasId); // configuracaoContaEmail.Fila = fila; // } // //foreach (var message in messages) // //{ // // try // // { // // var emailExistente = // // uIdsExistentes.Find( // // p => // // p.MessageId == message.Value.MessageID.Replace("<", "").Replace(">", "") && // // p.CriadoEm == message.Value.Date); // // if (emailExistente != null) continue; // // var messageCompleta = new MailMessage(); // // try // // { // // messageCompleta = ic.GetMessage(message.Value.Uid); // // } // // catch (Exception ex) // // { // // continue; // // } // // var processar = new ProcessamentoEmail(configuracaoContaEmail, messageCompleta, null, // // emailServico, pathPadrao.Valor, atividadeServico, emailServico, emailsSpamFila); // // var retorno = processar.ProcessarEmail(); // // if (retorno.IsValid) // // { // // Log.ErrorLog("ServicoLeituraEmail", dirLog, // // "E-mail (" + messageCompleta.Subject + ") processado com sucesso"); // // } // // else // // { // // Log.ErrorLog("ServicoLeituraEmail", dirLog, // // "E-mail (" + messageCompleta.Subject + ") não processado, erro: " + // // retorno.Erros.ToString()); // // } // // } // // catch (Exception ex) // // { // // Log.ErrorLog("ServicoLeituraEmail", dirLog, // // "E-mail (" + message.Value + ") não processado, erro: " + ex.Message); // // } // //} //} new LerViaMailKit(configuracaoContaEmail.ServidorPop, configuracaoContaEmail.PortaServidorEntrada, false, configuracaoContaEmail.UsuarioEmail, configuracaoContaEmail.SenhaEmail).LerEmail(configuracaoContaEmail, container, emailServico, configuracaoServico, atividadeServico, filaServico, emailsSpamFila, uIdsExistentes, pathPadrao.Valor); } catch (Exception ex) { Log.ErrorLog("ServicoLeituraEmail", dirLog, "Erro : " + ex.Message); } }