Jump to content
Rengavitp

Nao consigo enviar email com aplicacao java no glassfish

Recommended Posts

Boa noite pessoal, nao consigo enviar email pelo javamail no glassfish, eu uso a mesma classe em uma aplicação swing e funciona perfeitamente mas na versão web não vai e da erro relacionado a sessão, pelo que vi preciso criar uma sessão no glassfish mas nao faço ideia de como fazer, abaixo segue a classe e o log.

 

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;
}`

e o erro.

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)


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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By JulioClaudius
      Olá, boa tarde a todos!
       
      Sou novato em html/css e preciso desenvolver uma newsletter que será disparada para um cliente nosso.
       
      Desenvolvi o layout no photoshop primeiro, depois exportei o html com as imagens normalmente. Porém quando fui testar no browser, verifiquei que os textos ficaram correndo para fora do layout.
       
      Com certeza estou esquecendo algum comando que "trave" e/ou deixe o texto no seu devido lugar. 
       
      Seguem imagem (de como deveria ficar) e link do html de como está ficando:
       
      http://www.lipodobrasil.com.br/vantage/eldewps_esp/eldewps203_esp.html
       
      Desde já muito obrigado!
       
       
       

    • By jessicafmaia7
      Olá, gostaria de saber como faço para adicionar um código CSS que direcione o link do site contido no e-mail para o rodapé da página.
      Essa ação seria dentro de uma plataforma de envio de e-mail marketing onde eu tenho os seguintes campos:
       
      web adress: www.exemplo.com.br 
      title atribute: 
      CSS class: 
       
      gostaria que quando as pessoas clicassem no link, elas fossem direcionadas para o rodapé do site
       
      Obrigada
       

    • By Good
      Boa noite,
      não sei se estou na categoria correta.. por exemplo, eu estou buscando contratar um servidor de email que suporte envio de até 1milhão de emails por mês.
       
      Eu não tenho conhecimento, então gostaria de saber se alguém recomenda algum serviço.. que seja possível fazer integração com o meu sistema utilizando PHP.
       
      obrigado
    • By gilbertjuniors
      Pessoal, boa noite.
       
      Instalei o Xampp na minha máquina e estou tentando configurar o Mercury para enviar emails para minha conta no GMail
       
      Segui os seguintes vídeos tutoriais
      https://www.youtube.com/watch?v=iwjNIUuM_iI
      https://www.youtube.com/watch?v=rcWS1uuf304
      https://www.youtube.com/watch?v=2-WYsG_yIX8
       
      As explicações sobre as configurações são similares nestes 3 vídeos, porém, não está funcionando.
      O envio usando o Send Mensage Message do próprio Mercury também não deu certo
       
      Desativei o anti-vírus e o firewall mas também não resolveu.
       
      Alguém pode me dar uma luz? 
      Preciso criar um ambiente para testar o envio de email através de formulário de site que estou criando.
    • By kleinfelipe1
      Estou desenvolvendo um site onde os participantes cumprem desafios, e eu preciso que, depois que o participante enviou o video, o status dele seja 1. E depois de 24 horas do vídeo enviado, volte a ser 0 para a condição de recebimento de emails. Por onde começo?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.