Erro Javamail

2 respostas Resolvido
M

Pessoal, boa tarde!
Poderiam me tirar uma dúvida? Sou iniciante e me deparei com a seguinte situação.

Um sistema de alerta de vencimento de certidões não está mais enviando e-mails para alertar dos vencimentos.
Ele enviava normalmente, porém algo aconteceu.

Abri o código no Netbeans para ver e ao depurar deu a seguinte exceção.

Abaixo o código.

import java.util.Properties;

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.MimeMessage;
public class EnviaEmail

{

public static void main(String tipo, String empresa, String datavencimento) {

Properties props = new Properties();

/** Parâmetros de conexão com servidor Locaweb */

props.put(mail.host, smtp.sawil.com.br);

props.put(mail.transport.protocol, smtp);

props.put(mail.smtp.auth, true);

props.put(mail.smtp.port, 587);
Session session = Session.getDefaultInstance(props,
                    new javax.mail.Authenticator() {
                         protected PasswordAuthentication getPasswordAuthentication() 
                         {
                               return new PasswordAuthentication("meuemail", "senha");
                         }
                    });
        /** Ativa Debug para sessão */
        session.setDebug(true);
        try {

              Message message = new MimeMessage(session);
              message.setFrom(new InternetAddress("Legalizador <meuemail>"));
              InternetAddress[] adress = new InternetAddress[2];//Remetente
              adress[0] = new InternetAddress("emaildestinatário");

              message.setRecipients(Message.RecipientType.TO, adress); //Destinatário(s)
              message.setSubject("ALERTA DE VENCIMENTO");//Assunto
              message.setText("ALERTA: " + tipo + " da empresa " + empresa + " vence/venceu em " + datavencimento + ".");
              /**Método para enviar a mensagem criada*/
              Transport.send(message);
         } catch (MessagingException e) {
              throw new RuntimeException(e);
        }
  }

}

Ao executar depurando, está gerando a seguinte exceção abaixo:

DEBUG: setDebug: JavaMail version 1.4.7

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at javax.mail.internet.InternetAddress.toString(InternetAddress.java:461)

at javax.mail.internet.InternetAddress.toString(InternetAddress.java:426)

at javax.mail.internet.MimeMessage.setAddressHeader(MimeMessage.java:708)

at javax.mail.internet.MimeMessage.setRecipients(MimeMessage.java:586)

at EnviaEmail.main(EnviaEmail.java:36)

at VerificaData.consulta_cremesp(VerificaData.java:169)

at VerificaData.(VerificaData.java:22)

at Principal.(Principal.java:10)

at Principal$1.run(Principal.java:44)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)

at java.awt.EventQueue.access$200(EventQueue.java:103)

at java.awt.EventQueue$3.run(EventQueue.java:694)

at java.awt.EventQueue$3.run(EventQueue.java:692)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Uso Locaweb e confirmei com ele os dados e portas, e afirmaram está correto, pois não alteraram.

Poderiam me dar uma mão por gentileza?

Obrigado desde já!!

2 Respostas

RoinujNosde
Solucao aceita

Você criou um vetor de tamanho 2 e está atribuindo apenas na posição 0. A 1 vai ficar null. Esse deve ser o erro.
Tente iniciar com o tamanho 1 ou atribuir um valor na posição 1 também.

M

Matou a pau o erro em irmão.

Sabe demais. Problema resolvido!!

Muito obrigado!

Criado 7 de julho de 2021
Ultima resposta 7 de jul. de 2021
Respostas 2
Participantes 2