Duvidar em enviar email em java

Tenho que fazer uma metodo em java para enviar email. Eu fiz o seguinte codigo, mas esta dando erro.

import java.io.IOException;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class Email {

  private static Session session = null;
  private static final String contentType = "text/html";
  private static String servidor = "smtp.mail.yahoo.com.br";

  

  public void enviarEmail(String assunto, String mensagem, String de) throws
          MessagingException {

      String emailPara = "xxxx@yahoo.com.br";
      Properties props = new Properties();


      props.put("mail.smtp.host", servidor);
      props.put("mail.smtp.auth", "true");
      Session mailSession = Session.getDefaultInstance (props, new Authenticator() {
         protected PasswordAuthentication getPasswordAuthentication() {
          return new PasswordAuthentication("xxxxx", "123456");}
          });
       
      Message message = new MimeMessage(session);

      InternetAddress endMail = new InternetAddress(emailPara);
      message.addRecipient(Message.RecipientType.TO, endMail);

      InternetAddress fromEmail = new InternetAddress(de);
      message.setFrom(fromEmail);
      message.setSubject(assunto);

      MimeMultipart mpRoot = new MimeMultipart("mixed");
      MimeMultipart mpContent = new MimeMultipart("alternative");

      MimeBodyPart mbp1 = new MimeBodyPart();

      mbp1.setContent(mensagem.toString(), contentType);
      mpContent.addBodyPart(mbp1);

      MimeBodyPart contentPartRoot = new MimeBodyPart();
      contentPartRoot.setContent(mpContent);
      mpRoot.addBodyPart(contentPartRoot);

      message.setContent(mpRoot);
      message.saveChanges();

      Transport.send(message);
  }


public static void main(String[] args) throws IOException {
	         
     Email email = new Email();
     try {
		email.enviarEmail("Teste assunto","primeira mensagem","xxxx@yahoo.com.br");
	} catch (MessagingException e) {
		
		e.printStackTrace();
	}
}

}

o erro eh o seguinte:

Exception in thread “main” java.lang.SecurityException: Access to default session denied
at javax.mail.Session.getDefaultInstance(Session.java:311)
at javax.mail.Transport.send0(Transport.java:158)
at javax.mail.Transport.send(Transport.java:98)
at Email.enviarEmail(Email.java:65)
at Email.main(Email.java:73)
Process exited with exit code 1.

alguem poderia me orientar? estou perdido.
me ajudem por favor!
abracos