Enviando email com JavaMail utilizando Gmail
Configure o JavaMail para utilizar a conta pessoal do GMail. Uma excelente alternativa para quem não possui uma conta POP3 de servidor próprio.
O 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.
Saiba mais: Java Mail: Criando um módulo para envio de Email em Java
Esta foi uma solução para um problema que passei, na qual, não havia uma conta de email de servidor pago POP3/SMTP. Procurando por várias soluções e alternativas na Internet, encontrei esta! A mais fácil, simples e prática. Veja a seguir:
Configurando o Projeto para envio de e-mail
Antes de começar, você vai precisar das seguintes biblotecas:
- mail.jar
- activation.jar
Você encontra as bibliotecas contidas em um único arquivo, no JavaMail Documentation
Relacionado: Cursos de Java
Usando a sua IDE favorita (Eclipse ou NetBeans), crie uma biblioteca chamada JavaMail utilizando 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(“”);
Links Úteis
- E aí? Como você testa seus códigos?: O programador está sempre escrevendo testes. Neste DevCast falamos um pouco sobre uma das metodologias mais utilizadas e fundamentais, o teste unitário.
- O que é Neo4j?: Neste curso você conhecerá o Neo4j, um banco de dados NoSQL que implementa o modelo de grafos, uma estrutura de dados composta por nós (vértices) que estão ligados por meio de relacionamentos (arestas).
- ASP.NET MVC e Entity Framework: criando uma aplicação 1:N: Neste curso você aprenderá a implementar um CRUD em ASP.NET MVC com relacionamento 1:N (um para muitos). Veremos como desenvolver as telas do CRUD com seleção do registro relacionado em um dropdown, bem como fazer da forma mestre-detalhe, com adição de campos dinâmicos.
Saiba mais sobre Java ;)
- Guia Completo de Web Services RESTful em Java: Devido a sua simplicidade, os Web Services RESTful têm se tornado cada vez mais populares. Neste guia você encontrará os conteúdos que precisa para dominar esse modelo que permite a construção de serviços menores a APIs completas.
- Guia Completo de Java: Neste Guia de Referência você encontrará todo o conteúdo que precisa para começar a programar com a linguagem Java, a sua caixa de ferramentas base para criar aplicações com Java.
- Carreira Programador Java: Aprender Java não é uma tarefa simples, mas seguindo a ordem proposta nesse Guia, você evitará muitas confusões e perdas de tempo no seu aprendizado. Vem aprender java de verdade, vem!
Saiba mais sobre Referências ;)
- JavaMail API – Sending email via Gmail SMTP example
- Java 2 Enterprise Edition
- Livro: Dominando Java Server Faces e Facelets, utilizando Spring, Hibernate e JPA. Edson Gonçalves – Editora Ciência Moderna. 2008.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo