Javamail - NullPointerException

1 resposta
I

O codigo envia o email normalmente somente texto. Quando eu incluo o codigo para anexar arquivo ele retorna esse erro. Alguém poderia ajudar?

...
if (mensagem.equals("")||email.equals("")) response.sendRedirect("erromail.jsp");

Properties props = new Properties();
props.setProperty("mail.transport.protocol","smtp");
props.setProperty("mail.host",smtpServer);
props.setProperty("mail.user",fromMail);

Session sessao = Session.getInstance(props);
sessao.setDebug(true);

MimeMessage message = new MimeMessage(sessao);

             message.setFrom( new InternetAddress(fromMail,fromName) );
             message.setRecipient(Message.RecipientType.TO, new InternetAddress(toMail,toName) );
             message.setSubject(assunto);

             // Adiciona o texto do corpo do email
             MimeBodyPart textPart = new MimeBodyPart();
             textPart.setContent(corpo);

             // Abre e anexa o arquivo
             MimeBodyPart attachFilePart = new MimeBodyPart();
             FileDataSource fds = new FileDataSource(fileToSend);
             attachFilePart.setDataHandler(new DataHandler(fds));
             attachFilePart.setFileName(fds.getName());
             
             // Monta a mensagem SMTP
             Multipart mp = new MimeMultipart();
             mp.addBodyPart(textPart);
             mp.addBodyPart(attachFilePart);
             message.setContent(mp);

             Transport.send(message);

             out.println("Email enviado!");
}
catch (MessagingException e) {
    out.println("Email nao pode ser enviado! " + e.getMessage());
}

org.apache.jasper.JasperException: Exception in JSP: enviar.jsp:63

60:              mp.addBodyPart(attachFilePart);

61:              message.setContent(mp);

62:

63:              Transport.send(message);

64:

65:              out.println(email enviado!);

66: }
Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

java.security.AccessController.doPrivileged(Native Method)

javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)

java.security.AccessController.doPrivileged(Native Method)

com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)

com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)

sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

java.security.AccessController.doPrivileged(Native Method)

javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)

java.security.AccessController.doPrivileged(Native Method)

br.ufsm.cpd.commons.web.security.SecurityFilter.doFilter(SecurityFilter.java:168)

br.ufsm.cpd.commons.web.HttpFilter.doFilter(HttpFilter.java:89)

sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

java.security.AccessController.doPrivileged(Native Method)

javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)

root cause

java.lang.NullPointerException

javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:115)

javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:136)

javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:981)

javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:195)

javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1809)

javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1785)

javax.mail.Transport.send(Transport.java:74)

org.apache.jsp.FaleConosco.javamail_jsp._jspService(javamail_jsp.java:113)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

java.security.AccessController.doPrivileged(Native Method)

javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)

java.security.AccessController.doPrivileged(Native Method)

com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)

com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)

sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

java.security.AccessController.doPrivileged(Native Method)

javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)

java.security.AccessController.doPrivileged(Native Method)

br.ufsm.cpd.commons.web.security.SecurityFilter.doFilter(SecurityFilter.java:168)

br.ufsm.cpd.commons.web.HttpFilter.doFilter(HttpFilter.java:89)

sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

java.security.AccessController.doPrivileged(Native Method)

javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)

1 Resposta

peczenyj

NullPointerException acontece quando

MinhaClasse variavel = null; variavel.algumMetodo(parametros);

Eu começaria investigando isso. Ja usou um debugger nessa aplicação? Ou pelo menos um “passei por aqui, variavel X tem valor ‘…’” ?

Criado 8 de abril de 2010
Ultima resposta 8 de abr. de 2010
Respostas 1
Participantes 2