java.lang.SecurityException: Access to default session denied
javax.mail.Session.getDefaultInstance(Session.java :311)...
el codigo que utilizo es el siguiente
Código:
alguien sabe que puede estar pasando?public void sendMail(MessageMail mensaje){ EntityManager em = PersistenceManager.getInstance().getEntityManagerFactory().createEntityManager(); Properties props = new Properties(); if(mensaje.getHelpdesk().isPopAntesSMTP()){ try{ props.put("mail.pop3.host", mensaje.getHelpdesk().getPopHost()); Session sessionPop = Session.getDefaultInstance(props, null); Store store= sessionPop.getStore("pop3"); store.connect(mensaje.getHelpdesk().getPopHost(), mensaje.getHelpdesk().getUsrPOP(), mensaje.getHelpdesk().getPassPOP()); Folder folder= store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); folder.close(false); store.close(); }catch (Exception e){ e.printStackTrace(); } } try{ props.put("mail.smtp.host", mensaje.getHelpdesk().getSmtpHost()); props.setProperty("mail.smtp.starttls.enable", "true"); props.setProperty("mail.smtp.user", mensaje.getHelpdesk().getUsrSMTP()); props.setProperty("mail.smtp.auth", "true"); SMTPAuthenticator auth = null; if(mensaje.getHelpdesk().isRequiereAtutentificacionSMTP()){ auth = new SMTPAuthenticator(mensaje.getHelpdesk().getUsrSMTP(), mensaje.getHelpdesk().getPassSMTP()); } Session session = Session.getDefaultInstance(props, auth); BodyPart texto = new MimeBodyPart(); texto.setText(mensaje.getDscMail()); MimeMultipart multiParte = new MimeMultipart(); multiParte.addBodyPart(texto); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(mensaje.getHelpdesk().getEmail(), mensaje.getHelpdesk().getNombre())); message.setSubject(mensaje.getSubMail()); message.setContent(multiParte); message.setSentDate(mensaje.getHelpdesk().newDate()); if(!mensaje.getDestinatarios().isEmpty()){ for(DestinatarioMessage des : mensaje.getDestinatarios()){ message.addRecipients(Message.RecipientType.BCC, des.getEmailDestinatario()); } } Transport t = session.getTransport("smtp"); t.connect(mensaje.getHelpdesk().getSmtpHost(),mensaje.getHelpdesk().getUsrSMTP(), mensaje.getHelpdesk().getPassSMTP()); if(message.getAllRecipients()!=null && message.getAllRecipients().length!=0){ t.sendMessage(message, message.getAllRecipients()); } t.close(); em.getTransaction().begin(); mensaje.setEnviado(true); mensaje.setFechaEnviado(mensaje.getHelpdesk().newDate()); messageController.updateMessage(mensaje, em); em.getTransaction().commit(); }catch (Exception e){ String error=e.toString(); StackTraceElement[] pila = e.getStackTrace(); for(int i=0;i<pila.length;i++){ error+= "\n" + pila[i].toString(); } e.printStackTrace(); em.getTransaction().begin(); mensaje.setReintentoEnviado(mensaje.getReintentoEnviado() + 1); mensaje.setEnviado(false); mensaje.setServerStatus(error); messageController.updateMessage(mensaje, em); em.getTransaction().commit(); } em.close(); }
saludos y gracias