Bom pessoal, estou fazendo testes para minha aplicação utilizando o commons mail, mas pude perceber que dentre suas propriedades, existe uma que seta o caminho de um anexo, mas somente isso, Até o momento não encontrei algo parecido para que o usuário pudesse mandar o anexo via página. Caso alguém tenha algum exemplo de como fazer isso eu agradeceria. Acredito que é um problema para muitos, visto que vasculhei a net e não encontrei nada voltado para o java web com o commons mail implementado de uma forma que o desenvolvedor não só possa utilizar mas também entender e aprender. Agradeço!
Creio que voce deva trabalhar com o stream do arquivo anexado,
Muito obrigado, vou estudar sobre e fazer a implementação do exemplo dado.
Entendi que dessa forma que você me repassou eu necessitaria pegar o dado do banco, correto?.
Mas não teria como implementar uma forma em que o usuário possa fazer o envio deste arquivo pelo form html e ele fosse encaminhado direto para o email ao executar a funlção?
Esse ai foi um exemplo onde o cara pega a stream direto do banco
Você teria que fazer isso assim:
no html voce iria cria um input do type="file"
quando fizer o submit, esse input vai te passar um objeto do tipo File.
atraves desse objeto file voce vai pegar a stream do arquivo e fazer o attached no email.
// get your inputstream from your db
InputStream is = new BufferedInputStream(MyUtils.getBlob());
DataSource source = new ByteArrayDataSource(is, "application/pdf");
nesta parte do código ele está pegando o file que está em “myutils.getblob()” correto?
implementei, o que foi pedido no html com o input, criei o atributo do tipo file e então adicionei o meu no local do “myutils.getblob()” mas recebo "file cannot be converted to inputStream.
no meu caso, como não utilizarei o dataSource, então utilizaria apenas o “is” e o converteria para datasource ao adicionar o anexo?
Desculpe pela demora,
Veja esses dois tutoriais:
tutorial 1
tutorial 2
Voce precisa do dataSource pois ele é o tipo que o atached aceita.
No caso voce precisa pegar o InputStream do arquivo, no tutorial 2 mostra isso.
Sem problemas,
Vou olhar agora e logo após retorno aqui.
Agradeço novamente.
olhei aqui o tutorial 2 e verifico que ele cria um new File(“src/main/resources/sample.txt”);
mas ele recebe somente String, ainda não entendi como vou passar o parâmetro para ele.
O que eu fiz foi desta forma, mesmo incorreta pois pelo que imaginei e aconteceu ele n consegue converter o valor para datasource
Abaixo segue meu código
Classe de configuração do email
/*
* 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 com.ufpa.scontroleportaria.testeEmail;
import java.io.BufferedInputStream;
import java.io.InputStream;
import javax.activation.DataSource;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
/**
*
* @author andreismiths
*/
public class EmailUtils {
private static final String username = "******@gmail.com";
private static final String password = "******";
private static final String emailOrigem = "*****@gmail.com";
public static Email conectaEmail() throws EmailException {
MultiPartEmail email = new MultiPartEmail();
email.setDebug(true);
email.setHostName("smtp.gmail.com");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator(username, password));
email.setFrom(emailOrigem);
email.getMailSession().getProperties().put("mail.smtp.auth", "true");
email.getMailSession().getProperties().put("mail.debug", "true");
email.getMailSession().getProperties().put("mail.smtp.port", "587");
email.getMailSession().getProperties().put("mail.smtp.socketFactory.port", "587");
email.getMailSession().getProperties().put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
email.getMailSession().getProperties().put("mail.smtp.socketFactory.fallback", "false");
email.getMailSession().getProperties().put("mail.smtp.starttls.enable", "true");
return email;
}
public static void enviaEmail(Mensagem mensagem) throws EmailException {
//adiciona as caracteristicas do email que são repassadas pelo usuário
MultiPartEmail email = new MultiPartEmail();
email = (MultiPartEmail) conectaEmail();
email.setSubject(mensagem.getTitulo());
email.setMsg(mensagem.getMensagem());
email.addTo(mensagem.getDestino());
//cria o anexo para o email junto com suas propriedades
InputStream is = new BufferedInputStream((InputStream) mensagem.getAnexo());
// add the attachment
email.attach((DataSource) is, "somefile.pdf", "Description of some file");
//envia o email
String resposta = email.send();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
"E-mail enviado com sucesso para: " + mensagem.getDestino(), "Informação"));
}
public static String getUsername() {
return username;
}
public static String getPassword() {
return password;
}
public static String getEmailOrigem() {
return emailOrigem;
}
}
xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/WEB-INF/template/Func_Layout.xhtml">
<ui:define name="content">
<h1 class="aw-page-title">Enviar Relatório</h1>
<p:outputPanel id="outputPanelMail">
<h:form>
<p:panel header="Envio de e-mail" style="width: 700px; height: 350px">
<p:messages/>
<h:panelGrid columns="2">
<h:outputText value="Para: "/>
<h:inputText value="#{MBindexController.mensagem.destino}" size="66"/>
<h:outputText value="Título: "/>
<h:inputText value="#{MBindexController.mensagem.titulo}" size="66"/>
<h:outputText value="Mensagem: "/>
<h:inputTextarea value="#{MBindexController.mensagem.mensagem}" cols="65" rows="12"/>
<h:outputText value="Anexo: "/>
<p:fileUpload value="#{MBindexController.mensagem.anexo}" mode="simple" skinSimple="true"/>
</h:panelGrid>
<p:commandButton value="Enviar e-mail" image="ui-icon-mail-closed" action="#{MBindexController.enviaEmail()}" update="outputPanelMail"/>
<p:commandButton value="Limpar campos" image="ui-icon-circle-close" action="#{MBindexController.limpaCampos()}" update="outputPanelMail"/>
</p:panel>
</h:form>
</p:outputPanel>
</ui:define>
</ui:composition>
classe mensagem que contem os atributos
/*
* 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 com.ufpa.scontroleportaria.testeEmail;
import java.io.File;
import org.primefaces.model.UploadedFile;
/**
*
* @author andreismiths
*/
public class Mensagem {
private String destino;
private String titulo;
private String mensagem;
private UploadedFile anexo;
private File anexoFile;
public String getDestino() {
return destino;
}
public void setDestino(String destino) {
this.destino = destino;
}
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public UploadedFile getAnexo() {
return anexo;
}
public void setAnexo(UploadedFile anexo) {
this.anexo = anexo;
}
public File getAnexoFile() {
return anexoFile;
}
public void setAnexoFile(File anexoFile) {
this.anexoFile = anexoFile;
}
}
MB do email
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.apache.commons.mail.EmailException;
/**
*
* @author andreismiths
*/
@ManagedBean(name = "MBindexController")
@ViewScoped
public class IndexController {
private Mensagem mensagem = new Mensagem();
public Mensagem getMensagem() {
return mensagem;
}
public void setMensagem(Mensagem mensagem) {
this.mensagem = mensagem;
}
public void enviaEmail() {
try {
EmailUtils.enviaEmail(mensagem);
} catch (EmailException ex) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro! Occoreu um erro ao enviar a mensagem.", "Erro"));
Logger.getLogger(IndexController.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void limpaCampos() {
mensagem = new Mensagem();
}
}
https://www.primefaces.org/docs/api/5.1/org/primefaces/model/UploadedFile.html
De acordo com a documentação o uploadedFile tem um metodo chamado getInputstream().
Entao no seu codigo voce deve fazer:
InputStream is = new BufferedInputStream(mensagem.getAnexo().getInputstream());
DataSource source = new ByteArrayDataSource(is, mensagem.getAnexo().getContentType());
email.attach(source, mensagem.getAnexo().getFileName() , "Description of some file");
Implementei, e ele pediu para um throws io exception e eu adicionei, mas ao construir ele gera um erro e por consequência não constrói.
segue a imagem onde ele pede e tambem o log de construção
Falha ao executar o objetivo org.apache.maven.plugins: maven-compilador-plugin: 3.1: compilação (compilação padrão) no projeto SControlePortaria: falha de compilação
Com / ufpa / scontroleportaria / testeEmail / IndexController.java: [34,23] exceção não declarada java.io.IOException; Deve ser pego ou declarado a ser jogado
-> [Ajuda 1]
Para ver o rastreamento completo da pilha dos erros, re-execute o Maven com a opção -e.
Re-execute o Maven usando a opção -X para habilitar o log completo de depuração.
Para obter mais informações sobre os erros e possíveis soluções, leia os seguintes artigos:
[Ajuda 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
PS: a imagem está antes de adicionar o IO exception, e o log é depois de adicionado o exception.
Coloca aqui a class depois que você colocou o try catch
ele pede try catch tanto no InputStream quanto no DataSource source, vou ja colocar
segue a class depois de circundar os dois ele pediu p iniciar a variável “is”
public static void enviaEmail(Mensagem mensagem) throws EmailException {
try {
//adiciona as caracteristicas do email que são repassadas pelo usuário
MultiPartEmail email = new MultiPartEmail();
email = (MultiPartEmail) conectaEmail();
email.setSubject(mensagem.getTitulo());
email.setMsg(mensagem.getMensagem());
email.addTo(mensagem.getDestino());
//cria o anexo para o email junto com suas propriedades
InputStream is = null;
try {
is = new BufferedInputStream(mensagem.getAnexo().getInputstream());
} catch (IOException ex) {
Logger.getLogger(EmailUtils.class.getName()).log(Level.SEVERE, null, ex);
}
DataSource source = new ByteArrayDataSource(is, mensagem.getAnexo().getContentType());
email.attach(source, mensagem.getAnexo().getFileName(), "Description of some file");
//envia o email
String resposta = email.send();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
"E-mail enviado com sucesso para: " + mensagem.getDestino(), "Informação"));
} catch (IOException ex) {
Logger.getLogger(EmailUtils.class.getName()).log(Level.SEVERE, null, ex);
}
}
após isto ele constrói mas ao executar me gera nullpointer
Log do servidor abaixo
Advertência: #{MBindexController.enviaEmail()}: java.lang.NullPointerException
javax.faces.FacesException: #{MBindexController.enviaEmail()}: java.lang.NullPointerException
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
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)
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 35 more
Caused by: java.lang.NullPointerException
at com.ufpa.scontroleportaria.testeEmail.EmailUtils.enviaEmail(EmailUtils.java:62)
at com.ufpa.scontroleportaria.testeEmail.IndexController.enviaEmail(IndexController.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 36 more
Grave: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
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)
Caused by: java.lang.NullPointerException
at com.ufpa.scontroleportaria.testeEmail.EmailUtils.enviaEmail(EmailUtils.java:62)
at com.ufpa.scontroleportaria.testeEmail.IndexController.enviaEmail(IndexController.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 36 more
Voce esta com dois try, um dentro do outro.
fique apenas com o try de fora, e remova o de dentro.
está desta forma agora mas com o mesmo erro nullpointer
public static void enviaEmail(Mensagem mensagem) throws EmailException {
try {
//adiciona as caracteristicas do email que são repassadas pelo usuário
MultiPartEmail email = new MultiPartEmail();
email = (MultiPartEmail) conectaEmail();
email.setSubject(mensagem.getTitulo());
email.setMsg(mensagem.getMensagem());
email.addTo(mensagem.getDestino());
//cria o anexo para o email junto com suas propriedades
InputStream is = null;
is = new BufferedInputStream(mensagem.getAnexo().getInputstream());
DataSource source = new ByteArrayDataSource(is, mensagem.getAnexo().getContentType());
email.attach(source, mensagem.getAnexo().getFileName(), "Description of some file");
//envia o email
String resposta = email.send();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
"E-mail enviado com sucesso para: " + mensagem.getDestino(), "Informação"));
} catch (IOException ex) {
Logger.getLogger(EmailUtils.class.getName()).log(Level.SEVERE, null, ex);
}
}
Oque tem na linha 62?[quote=“AndreiSmith, post:16, topic:350692”]
InputStream is = null;
is = new BufferedInputStream(mensagem.getAnexo().getInputstream());
[/quote]
Refaça essa linha.
InputStream is = new BufferedInputStream(mensagem.getAnexo().getInputstream());
mesmo erro, o problema está neste InputStream.
Advertência: #{MBindexController.enviaEmail()}: java.lang.NullPointerException
javax.faces.FacesException: #{MBindexController.enviaEmail()}: java.lang.NullPointerException
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
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)
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 35 more
Caused by: java.lang.NullPointerException
at com.ufpa.scontroleportaria.testeEmail.EmailUtils.enviaEmail(EmailUtils.java:60)
at com.ufpa.scontroleportaria.testeEmail.IndexController.enviaEmail(IndexController.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 36 more
Grave: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
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)
Caused by: java.lang.NullPointerException
at com.ufpa.scontroleportaria.testeEmail.EmailUtils.enviaEmail(EmailUtils.java:60)
at com.ufpa.scontroleportaria.testeEmail.IndexController.enviaEmail(IndexController.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 36 more
Faça um debug e veja oque esta null, pelo visto eh o arquivo.
testei diversos arquivos, no debug ao clicar para enviar recebi esta mensagem.
não estou entendendo que campo password é esse.
Anexando a localhost:9009
Executando programa do usuário
Não foi possível submeter o ponto de interrupção FieldBreakpoint com.ufpa.scontroleportaria.testeEmail.EmailUtils.PASSWORD, motivo: O campo 'PASSWORD' não existe na classe com.ufpa.scontroleportaria.testeEmail.EmailUtils.