public ClienteEmailCentralServicoDTO readMessage( DocumentHTML document, HttpServletRequest request, HttpServletResponse response, String messageId) throws Exception { ClienteEmailCentralServicoDTO clienteEmailCentralServicoDto = new ClienteEmailCentralServicoDTO(); clienteEmailCentralServicoDto.setResultSucess(true); try { if (CONEXAO_EMAIL_SERVIDOR.equals("") || CONEXAO_EMAIL_PROVIDER.equals("") || CONEXAO_EMAIL_CAIXA.equals("") || CONEXAO_EMAIL_SENHA.equals("") || CONEXAO_EMAIL_PASTA.equals("")) { clienteEmailCentralServicoDto.setResultSucess(false); clienteEmailCentralServicoDto.setResultMessage( UtilI18N.internacionaliza( request, "clienteEmailCentralServico.problemasRealizarleituraEmailsParametros")); } else { Properties props = new Properties(); props.setProperty("mail.store.protocol", CONEXAO_EMAIL_PROVIDER); props.setProperty("mail.imaps.auth.plain.disable", "true"); props.setProperty("mail.imaps.ssl.trust", "*"); // props.setProperty("mail.debug", "true"); if (!CONEXAO_EMAIL_PORTA.equals("")) props.setProperty("mail." + CONEXAO_EMAIL_PROVIDER + ".port", CONEXAO_EMAIL_PORTA); Session session = Session.getInstance(props, null); Store store = session.getStore(); store.connect(CONEXAO_EMAIL_SERVIDOR, CONEXAO_EMAIL_CAIXA, CONEXAO_EMAIL_SENHA); Folder inbox = store.getFolder(CONEXAO_EMAIL_PASTA); inbox.open(Folder.READ_WRITE); SearchTerm searchTerm = new MessageIDTerm(messageId); Message[] messages = inbox.search(searchTerm); if (messages != null && messages.length > 0) { ArrayList<ClienteEmailCentralServicoMessagesDTO> emailMessages = new ArrayList<ClienteEmailCentralServicoMessagesDTO>(); for (Message message : messages) { ClienteEmailCentralServicoMessagesDTO clienteEmailMessagesDto = new ClienteEmailCentralServicoMessagesDTO(); MimeMessage m = (MimeMessage) inbox.getMessage(message.getMessageNumber()); clienteEmailMessagesDto.setMessageId(m.getMessageID()); clienteEmailMessagesDto.setMessageNumber(message.getMessageNumber()); Address[] in = message.getFrom(); clienteEmailMessagesDto.setMessageEmail( (in == null ? null : ((InternetAddress) in[0]).getAddress())); clienteEmailMessagesDto.setMessageSubject(message.getSubject()); clienteEmailMessagesDto.setMessageReceivedDate(message.getReceivedDate()); clienteEmailMessagesDto.setSeen(message.isSet(Flags.Flag.SEEN)); Object objRef = message.getContent(); String content = ""; if (!(objRef instanceof Multipart)) { content = (String) message.getContent(); } else { Multipart mp = (Multipart) message.getContent(); BodyPart bp = mp.getBodyPart(0); content = getContent(bp); } if (content != null) { // content = content.replaceAll("(\r\n|\r|\n)", "<br />"); content = StringEscapeUtils.escapeEcmaScript(content); clienteEmailMessagesDto.setMessageContent(content); } emailMessages.add(clienteEmailMessagesDto); } clienteEmailCentralServicoDto.setEmailMessages(emailMessages); } } } catch (Exception e) { e.printStackTrace(); clienteEmailCentralServicoDto.setResultSucess(false); clienteEmailCentralServicoDto.setResultMessage( UtilI18N.internacionaliza( request, "clienteEmailCentralServico.problemasRealizarleituraEmails")); } return clienteEmailCentralServicoDto; }
public ClienteEmailCentralServicoDTO getMessages( DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ClienteEmailCentralServicoDTO clienteEmailCentralServicoDto = new ClienteEmailCentralServicoDTO(); clienteEmailCentralServicoDto.setResultSucess(true); try { if (CONEXAO_EMAIL_SERVIDOR.equals("") || CONEXAO_EMAIL_PROVIDER.equals("") || CONEXAO_EMAIL_CAIXA.equals("") || CONEXAO_EMAIL_SENHA.equals("") || CONEXAO_EMAIL_PASTA.equals("")) { clienteEmailCentralServicoDto.setResultSucess(false); clienteEmailCentralServicoDto.setResultMessage( UtilI18N.internacionaliza( request, "clienteEmailCentralServico.problemasRealizarleituraEmailsParametros")); } else { Properties props = new Properties(); props.setProperty("mail.store.protocol", CONEXAO_EMAIL_PROVIDER); props.setProperty("mail.imaps.auth.plain.disable", "true"); props.setProperty("mail.imaps.ssl.trust", "*"); // props.setProperty("mail.debug", "true"); if (!CONEXAO_EMAIL_PORTA.equals("")) props.setProperty("mail." + CONEXAO_EMAIL_PROVIDER + ".port", CONEXAO_EMAIL_PORTA); Session session = Session.getInstance(props, null); Store store = session.getStore(); store.connect(CONEXAO_EMAIL_SERVIDOR, CONEXAO_EMAIL_CAIXA, CONEXAO_EMAIL_SENHA); Folder inbox = store.getFolder(CONEXAO_EMAIL_PASTA); inbox.open(Folder.READ_WRITE); Message[] messages = inbox.getMessages(); if (messages != null && messages.length > 0) { ArrayList<ClienteEmailCentralServicoMessagesDTO> emailMessages = new ArrayList<ClienteEmailCentralServicoMessagesDTO>(); for (Message message : messages) { ClienteEmailCentralServicoMessagesDTO clienteEmailMessagesDto = new ClienteEmailCentralServicoMessagesDTO(); MimeMessage m = (MimeMessage) inbox.getMessage(message.getMessageNumber()); clienteEmailMessagesDto.setMessageId(m.getMessageID()); clienteEmailMessagesDto.setMessageNumber(message.getMessageNumber()); Address[] in = message.getFrom(); clienteEmailMessagesDto.setMessageEmail( (in == null ? null : ((InternetAddress) in[0]).getAddress())); clienteEmailMessagesDto.setMessageSubject(message.getSubject()); clienteEmailMessagesDto.setMessageReceivedDate(message.getReceivedDate()); // clienteEmailMessagesDto.setSeen(message.isSet(Flags.Flag.SEEN)); clienteEmailMessagesDto.setSeen(true); emailMessages.add(clienteEmailMessagesDto); } clienteEmailCentralServicoDto.setEmailMessages(emailMessages); } } } catch (Exception e) { e.printStackTrace(); clienteEmailCentralServicoDto.setResultSucess(false); clienteEmailCentralServicoDto.setResultMessage( UtilI18N.internacionaliza( request, "clienteEmailCentralServico.problemasRealizarleituraEmails")); } return clienteEmailCentralServicoDto; }
public ClienteEmailCentralServicoDTO getMessagesByLimitAndNoRequest( DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { EmailSolicitacaoServicoService emailSolicitacaoServicoService = (EmailSolicitacaoServicoService) ServiceLocator.getInstance() .getService( EmailSolicitacaoServicoService.class, WebUtil.getUsuarioSistema(request)); ClienteEmailCentralServicoDTO clienteEmailCentralServicoDto = new ClienteEmailCentralServicoDTO(); clienteEmailCentralServicoDto.setResultSucess(true); try { if (CONEXAO_EMAIL_SERVIDOR.equals("") || CONEXAO_EMAIL_PROVIDER.equals("") || CONEXAO_EMAIL_CAIXA.equals("") || CONEXAO_EMAIL_SENHA.equals("") || CONEXAO_EMAIL_PASTA.equals("")) { clienteEmailCentralServicoDto.setResultSucess(false); clienteEmailCentralServicoDto.setResultMessage( UtilI18N.internacionaliza( request, "clienteEmailCentralServico.problemasRealizarleituraEmailsParametros")); } else { Properties props = new Properties(); props.setProperty("mail.store.protocol", CONEXAO_EMAIL_PROVIDER); props.setProperty("mail.imaps.auth.plain.disable", "true"); props.setProperty("mail.imaps.ssl.trust", "*"); // props.setProperty("mail.debug", "true"); if (!CONEXAO_EMAIL_PORTA.equals("")) props.setProperty("mail." + CONEXAO_EMAIL_PROVIDER + ".port", CONEXAO_EMAIL_PORTA); Session session = Session.getInstance(props, null); Store store = session.getStore(); store.connect(CONEXAO_EMAIL_SERVIDOR, CONEXAO_EMAIL_CAIXA, CONEXAO_EMAIL_SENHA); Folder inbox = store.getFolder(CONEXAO_EMAIL_PASTA); inbox.open(Folder.READ_WRITE); Message[] messages = inbox.getMessages(); if (messages != null && messages.length > 0) { ArrayUtils.reverse(messages); Integer limiteEmails = 10; try { limiteEmails = Integer.parseInt(CONEXAO_EMAIL_LIMITE); } catch (NumberFormatException e) { e.printStackTrace(); limiteEmails = 10; } ArrayList<ClienteEmailCentralServicoMessagesDTO> emailMessages = new ArrayList<ClienteEmailCentralServicoMessagesDTO>(); for (Message message : messages) { if (emailMessages.size() < limiteEmails) { MimeMessage m = (MimeMessage) inbox.getMessage(message.getMessageNumber()); EmailSolicitacaoServicoDTO colEmailDto = emailSolicitacaoServicoService.getEmailByIdMessage(m.getMessageID()); if (colEmailDto == null) { ClienteEmailCentralServicoMessagesDTO clienteEmailMessagesDto = new ClienteEmailCentralServicoMessagesDTO(); clienteEmailMessagesDto.setMessageId(m.getMessageID()); clienteEmailMessagesDto.setMessageNumber(message.getMessageNumber()); Address[] in = message.getFrom(); clienteEmailMessagesDto.setMessageEmail( (in == null ? null : ((InternetAddress) in[0]).getAddress())); clienteEmailMessagesDto.setMessageSubject(message.getSubject()); clienteEmailMessagesDto.setMessageReceivedDate(message.getReceivedDate()); // clienteEmailMessagesDto.setSeen(message.isSet(Flags.Flag.SEEN)); //Atrapalha a // performance clienteEmailMessagesDto.setSeen(true); emailMessages.add(clienteEmailMessagesDto); } } else { break; } } clienteEmailCentralServicoDto.setEmailMessages(emailMessages); } } } catch (Exception e) { e.printStackTrace(); clienteEmailCentralServicoDto.setResultSucess(false); clienteEmailCentralServicoDto.setResultMessage( UtilI18N.internacionaliza( request, "clienteEmailCentralServico.problemasRealizarleituraEmails")); } return clienteEmailCentralServicoDto; }