Foros del Web » Programación para mayores de 30 ;) » Java »

java.lang.SecurityException: Access to default session denied

Estas en el tema de java.lang.SecurityException: Access to default session denied en el foro de Java en Foros del Web. Hola estoy intentando enviar correos con javamail pero recibo la siguiente excepcion: java.lang.SecurityException: Access to default session denied javax.mail.Session.getDefaultInstance(Session.java :311)... el codigo que utilizo es ...
  #1 (permalink)  
Antiguo 27/02/2009, 06:51
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
java.lang.SecurityException: Access to default session denied

Hola estoy intentando enviar correos con javamail pero recibo la siguiente excepcion:

java.lang.SecurityException: Access to default session denied
javax.mail.Session.getDefaultInstance(Session.java :311)...

el codigo que utilizo es el siguiente

Código:
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();
	 }
alguien sabe que puede estar pasando?

saludos y gracias
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.