3
respostas

Problemas ao tentar enviar Email

Estou usando o seguinte código, para enviar email, não aparenta ter erros no código, porém quando eu clico pra compilar da o eclipse avisa que tem erro. Se eu clico pra continuar mesmo assim recebo a mensagem: Erro: Não foi possível localizar nem carregar a classe principal JavaMailApp

import java.util.Properties;
import javax.mail.Address;
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 JavaMailApp{
      public static void main(String[] args) {

              String de = "email@email.com";
              String senha= "email@email.com";
              String para = "email@email.com";

            Properties props = new Properties();
            /** Parâmetros de conexão com servidor Gmail */
            props.put("mail.smtp.host", "smtp.gmail.com");
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.port", "465");

            Session session = Session.getDefaultInstance(props,
                        new javax.mail.Authenticator() {
                             protected PasswordAuthentication getPasswordAuthentication() 
                             {
                                   return new PasswordAuthentication(de, senha);
                             }
                        });

            /** Ativa Debug para sessão */
            session.setDebug(true);

            try {

                  Message message = new MimeMessage(session);
                  message.setFrom(new InternetAddress(de)); //Remetente

                  Address[] toUser = InternetAddress //Destinatário(s)
                             .parse(para);  

                  message.setRecipients(Message.RecipientType.TO, toUser);
                  message.setSubject("Enviando email com JavaMail");//Assunto
                  message.setText("Enviei este email utilizando JavaMail com minha conta GMail!");
                  /**Método para enviar a mensagem criada*/
                  Transport.send(message);

                  System.out.println("Feito!!!");

             } catch (MessagingException e) {
                  throw new RuntimeException(e);
            }
      }
}

Alguém pode me dar uma luz? Obs: alterei os emails propositalmente para postar aqui.

3 respostas

Boa noite Felipe,

O nome do seu arquivo é JavaMailApp.java?

Se não for, renomeie-o e tente compilar de novo.

Abraço.

Boa noite Rafael,

Sim, o nome esta correto. Segue o print: http://prntscr.com/jbg3wh

Opa,

Vi o print. É, parece que está tudo certo na classe. Quando você clica nela (na parte Package explorer) com o botão direito e põe Run As -> Java application não roda também?

Vi uns jars também. Eles devem ser usados no projeto?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software