terça-feira, 30 de outubro de 2012

Email com JavaMail utilizando Gmail

E aeeeeeee galera! Depois deste período que passei em exílio estudando sobre a origem e o sentido da vida, voltei com todas as respostas e com mais conhecimento para passar à vocês ("Agora o bixo pega").

Vamos começar com uma solução para você que está fazendo uma aplicação de envio de email, mas não possui um serviço smtp habilitado para o mesmo(Servidores normalmente pagos).

E agora? será que não conseguirei testar minha aplicação sem ter que pagar? Resposta: Sim conseguirá.

Há uma forma de você utilizar sua conta google usar este serviço de grátis. Então. Lets go!

JavaMail é uma excelente API que fornece uma estrutura independente de plataforma e de protocolo, para enviar, receber e manipular correio eletrônico (não necessariamente internet e-mail) e messaging como clientes.


Antes de começar, você vai precisar das seguintes biblotecas:
  • mail.jar
  • activation.jar
Você encontra as bibliotecas contidas em um único arquivo, no seguinte endereço:
Usando a sua IDE favorita (Eclipse ou NetBeans), crie uma biblioteca chamada JavaMailutilizando os arquivos mail.jar e activation.jar contidos no arquivo compactado. Depois, configure o seu projeto para utilizar a biblioteca JavaMail.
Criando a classe de Envio
Crie a classe JavaMailApp e utilize o código abaixo para enviar email:
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) {
            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("seuemail@gmail.com","suasenha123");
                             
}

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

                  Message message = new MimeMessage(session);
                  message.setFrom(new InternetAddress("seuemail@gmail.com")); //Remetente

                  
Address[] toUser = InternetAddress 
//Destinatário(s)
                             .parse("seuamigo@gmail.com, seucolega@hotmail.com, seuparente@yahoo.com.br");  
                  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);
            }
      }
}



Altere os seguintes campos:
“seuemail@gmail.com” para a sua conta do Gmail,
“suasenha123” utilizando a senha da sua conta.
E adicione o endereço do destinatário no método .parse
Address[] toUser = InternetAddress.parse(“”);
Pronto! É só compilar!
Email enviado com sucesso!!!

OBS: Se você utiliza algum Firewall, verifique se ele está bloqueando as portas SMTP para envio de sua mensagem.

Veja também:

Nenhum comentário:

Postar um comentário

Admin: Bruno

Olá Galera! muito grato por estarem acessando nosso blog. Espero que seja possível transmitir de forma compreensível um pouco de meus conhecimentos em programação, para esta comunidade de desenvolvedores que cresce cada vez mais! Espero que Gostem! Abraço! E meu enorme obrigado à Renato Simões, Átila Soares,Wanderson Quinto, Emerson e a toda galera que sempre ajudou meu sincero obrigado....
Especialmente a Natalia Failache e Rita de Cassia que sempre apoiaram este sonho....

De seu amigo Bruno Rafael.