Proplema com javamail e glassfih

Boa noite pessoal, preciso da ajuda de voces com o codigo abaixo, utilizo esse mesmo código em uma aplicação desktop e funciona bem, porém estou tentando usar em uma aplicação jsp. O metodo do email segue abaixo

    public static boolean solicitaCotacao(List<Pedido> pedido, List<Transportador> transp, String email_vendedor) {
    boolean resultado = false;
    try {
        if (pedido.size() > 0) {

            Pedido primeiroPedidoEncontrado = (Pedido) pedido.get(0);
            String origem = "Origem: PORTO BELO - SC";
            String cnpjorigem = "Cnpj: 00.000.000/0000-00";
            String cidadedestino = primeiroPedidoEncontrado.getMunicipio_cliente().trim();
            String uf = primeiroPedidoEncontrado.getUf_cliente();
            String cnpjcliente = primeiroPedidoEncontrado.getCnpj_cpf().trim();
            int tamanho = cnpjcliente.length();
            if (tamanho == 11) {
                Email.format("###.###.###-##", cnpjcliente);
            } else {
                Email.format("##.###.###/####-##", cnpjcliente);
            }
            String nf = String.valueOf(primeiroPedidoEncontrado.getNota_fiscal());
            int volumes = primeiroPedidoEncontrado.getVolumes();
            float peso = primeiroPedidoEncontrado.getPeso();
            float m3 = primeiroPedidoEncontrado.getCub();
            String frete = primeiroPedidoEncontrado.getTipo_frete();
            String l_frete = frete.equals("1") ? "CIF" : "FOB";

            Properties props = new Properties();
            props.put("mail.transport.protocol", "smtp");
            props.put("mail.smtp.host", "smtpout.secureserver.net");
            props.put("mail.smtp.socketFactory.fallback", "false");
            props.put("mail.smtp.starttls.enable", "true");
            props.put("mail.smtp.auth", "true");
            Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("email", "senha");
                }
            });
            session.setDebug(true);

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(email_vendedor.trim()));
            //Destinatário(s) da resposta

            Address[] enderecos;
            enderecos = InternetAddress.parse(email_vendedor.trim());

            message.setReplyTo(enderecos);
            for (Transportador dados : transp) {

            message.addRecipients(Message.RecipientType.TO, InternetAddress.parse(dados.getEmail()));
           }
            message.setSubject("Solicitação de Cotação");
            message.setText("Olá, solicitamos cotação conforme os dados abaixo:\n\n"
                    + origem + "\n"
                    + cnpjorigem + "\n"
                    + "Destino: " + cidadedestino + " - " + uf + "\n"
                    + "Cnpj: " + cnpjcliente + "\n"
                    + "Frete: " + l_frete + "\n"
                    + "Volumes: " + volumes + "\n"
                    + "Peso Total: " + peso + " KG" + "\n"
                    + "Cub: " + m3 + " m3" + "\n\n");
            Transport.send(message);
            System.out.println("Email enviado!");
            resultado = true;

        }
    } catch (MessagingException e) {
        resultado = false;
    }
    return resultado;
}`

O erro que aparece segue abaixo:

java.lang.SecurityException: Access to default session denied
at javax.mail.Session.getDefaultInstance(Session.java:333)
at modelo.Email.solicitaCotacao(Email.java:68)
at org.apache.jsp.processa.processa_005fsolicitacao_005fcotacao_jsp._jspService(processa_005fsolicitacao_005fcotacao_jsp.java:69)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
at java.lang.Thread.run(Thread.java:745)

Já tentei o javax.mail.Session.getDefaultInstance para javax.mail.Session.getInstance, mas ai mostra o erro abaixo

Informações:   DEBUG: setDebug: JavaMail version 1.5.4

Informações: DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
Informações: DEBUG SMTP: need username and password for authentication
Informações: DEBUG SMTP: useEhlo true, useAuth true
Informações: DEBUG SMTP: trying to connect to host “smtpout.secureserver.net”, port 25, isSSL false

Alguém pode me ajudar?

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fotografias.email;

import br.com.fotografias.transfer.EmailTransfer;
import br.com.fotografias.transfer.PessoaTransfer;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/*
*BIBLIOTECAS APACHE COMMON MAIL
*/
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.SimpleEmail;


/**
 *
 * @author Jandisson
 */
public class ContaClienteUsuarioEmail {

    public ContaClienteUsuarioEmail() {

    }

    private static HtmlEmail mail = new HtmlEmail();
    private static final StringBuffer strB = new StringBuffer();
    private static final String HOSTNAME = "smtp.gmail.com";
    private static final String USERNAME = "EMAIL UTILIZADOTexto pré-formatado";
    private static final String PASSWORD = "SUA SENHA DO EMAIL";
    private static final String EMAILORIGEM = "pjfotografiasphotostyle@gmail.com";
    private static String RESPOSTA = "INVALIDO";

    public void cadastrarConectadoEmail(PessoaTransfer pessoaTransfer) {

        try {
            //criacao de escrita pré-visualização dos dados
            strB.append("<br></br>");
            strB.append("<h1>Olá,tudo bem ? </h1>");
            strB.append(pessoaTransfer.getNomepessoa().toUpperCase());
            strB.append("<h4>Sua conta foi cadastrada.</h4>");
            strB.append("<h4>Para acesso ao sistema é preciso de:</h4>");
            strB.append("<br></br>");          
            strB.append("<p>Usuário: <b>").append(pessoaTransfer.getUsuariopessoa().toUpperCase()).append("</b> e senha: <b>").append(pessoaTransfer.getSenhapessoa()).append("</b> ;");
            strB.append("<br></br>");
            strB.append("<center><img src=\"http://s3-sa-east-1.amazonaws.com/storage.46graus.com/files/logo/37351/400x180_top_layout2_large_e828bbb3-a9cb-4db5-8cec-f434c8264698.png?93-16\"></center>");
            strB.append("<br></br>");
            strB.append("<center><font size=\"3px\">Por favor, não responda diretamente a este e-mail.</font></center>");
            strB.append("<center><font size=\"3px\">Esse e-mail foi enviado de um endereço apenas para notificação que não pode aceitar e-mails de entrada.</font></center>");
            strB.append("<center><font size=\"3px\">Se tiver perguntas ou precisar de ajuda, pergunte aqui (79) 99636-6600.</font></center>");
            strB.append("<center><font size=\"3px\">Conjunto, Rua B1, 40 - Laudelino Freire, Lagarto - SE, 49400-000</font></center>");
            strB.append("<center><font size=\"3px\">© 2018 PJFOTOGRAFIAS LTDA-ME. Todos os direitos reservados.</font></center>");
            strB.append("<center><font size=\"3px\">PJFOTOGRAFIAS é marca comercial ou marca registrada no BR.</font></center>");

            //escreve dados para o envio do email;
            EmailTransfer emailTransfer = new EmailTransfer();
            emailTransfer.setTitulo("USUÁRIO E SENHA DE ACESSO PJFOTOGRAFIAS");
            emailTransfer.setMensagem(strB.toString());
            emailTransfer.setEmailpessoa(pessoaTransfer.getEmailpessoa().toUpperCase());

            enviarEmail(emailTransfer);

            System.out.println(emailTransfer.getTitulo());
            System.out.println(emailTransfer.getMensagem());
            System.out.println(emailTransfer.getEmailpessoa());

            System.out.println("Resposta = " + RESPOSTA);
        } catch (Exception ex) {
            Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void alterarConectadoEmail(PessoaTransfer pessoaTransfer) {

        try {
            strB.append("<br></br>");
            strB.append("<h1>Olá,tudo bem ? </h1>");
            strB.append(pessoaTransfer.getNomepessoa().toUpperCase());
            strB.append("<br></br>");
            strB.append("<h4>Sua senha foi alterada.</h4>");
            strB.append("<h4>Para acesso ao sistema é preciso de:</h4>");
            strB.append("<p>Usuário: <b>").append(pessoaTransfer.getUsuariopessoa().toUpperCase()).append("</b> e senha: <b>").append(pessoaTransfer.getSenhapessoa()).append("</b> ;");
            strB.append("<br></br>");
            strB.append("<center><img src=\"http://s3-sa-east-1.amazonaws.com/storage.46graus.com/files/logo/37351/400x180_top_layout2_large_e828bbb3-a9cb-4db5-8cec-f434c8264698.png?93-16\"></center>");
            strB.append("<br></br>");
            strB.append("<center><font size=\"3px\">Por favor, não responda diretamente a este e-mail.</font></center>");
            strB.append("<center><font size=\"3px\">Esse e-mail foi enviado de um endereço apenas para notificação que não pode aceitar e-mails de entrada.</font></center>");
            strB.append("<center><font size=\"3px\">Se tiver perguntas ou precisar de ajuda, pergunte aqui (79) 99636-6600.</font></center>");
            strB.append("<center><font size=\"3px\">Conjunto, Rua B1, 40 - Laudelino Freire, Lagarto - SE, 49400-000</font></center>");
            strB.append("<center><font size=\"3px\">© 2018 PJFOTOGRAFIAS LTDA-ME. Todos os direitos reservados.</font></center>");
            strB.append("<center><font size=\"3px\">PJFOTOGRAFIAS é marca comercial ou marca registrada no BR.</font></center>");

            //escreve dados para o envio do email;
            EmailTransfer emailTransfer = new EmailTransfer();
            emailTransfer.setTitulo("USUÁRIO E SENHA DE ACESSO PJFOTOGRAFIAS");
            emailTransfer.setMensagem(strB.toString());
            emailTransfer.setEmailpessoa(pessoaTransfer.getEmailpessoa().toUpperCase());

            enviarEmail(emailTransfer);

        } catch (Exception ex) {
            Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void enviarEmail(EmailTransfer email) throws EmailException, Exception {
        try {
            //abri a conexao de Email
            mail = conectarEmail();
            //escrever informacoes a serem passadas
            mail.setSubject(email.getTitulo());
            mail.setHtmlMsg(email.getMensagem());
            mail.addTo(email.getEmailpessoa());

            RESPOSTA = mail.send();

        } catch (Exception ex) {
            Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private HtmlEmail conectarEmail() throws EmailException, Exception {
        try {
            mail.setHostName(HOSTNAME);
            mail.setSmtpPort(587);
            mail.setAuthentication(USERNAME, PASSWORD);
            mail.setTLS(true);

            mail.setFrom(EMAILORIGEM);
            return mail;
        } catch (Exception ex) {
            Logger.getLogger(ContaClienteUsuarioEmail.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }

}
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fotografias.transfer;



/**
 *
 * @author Jandisson
 */
public class EmailTransfer extends PessoaTransfer {

    private String titulo;
    private String mensagem;

    public EmailTransfer() {
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }

}

Cara obrigado pela ajuda mas o problema persiste, a classe que postei no topico ela funciona em uma aplicação swing, descobri que o erro esta no glassfish, parece que preciso criar uma sessão do javamail no glassfish mas nao faço ideia de como fazer, até achei documentação da oracle mas ta confuso pra mim… Se alguém souber como faço isso…

Tranquilo, cara.

Assim que resolver, informe, aqui !!!

Grande abraço e fica com Deus!