Blog da Softblue


Este artigo foi criado por Carlos Eduardo Gusso Tosin.
Conheça o currículo completo do instrutor clicando aqui.

Enviando e-mails no Java

Publicado em 25/01/2010 às 14:46:13 horas.

Compartilhe:    

Olá pessoal! Meu nome é Carlos Tosin e sou instrutor da Softblue. Este é o meu blog pessoal onde pretendo abordar temas de tecnologia na área de programação e desenvolvimento de softwares, em especial o Java.

Você está desenvolvendo uma aplicação e percebe que o envio de e-mails é necessário. Então você pensa: "será que consigo fazer isso de uma maneira fácil e rápida?". A resposta para essa questão é "sim, você consegue". O Java tem uma API que serve justamente pra isso, a chamada JavaMail API. Ela realmente funciona, mas num primeiro momento não parece muito intuitiva pra quem deseja sair mandando e-mail sem ter que estudar muito.

Por esse motivo o pessoal da Apache, dentro do projeto Commons, desenvolveu a Commons E-mail API. Esta API nada mais é do que um wrapper (ou um adapter, para os que gostam mais de adotar as nomenclaturas usadas nos design patterns) da JavaMail API. A vantagem é que ela é extremamente simples de ser usada pelo programador.

O primeiro passo é fazer o download do JAR e incorporá-lo ao seu projeto. Depois é só usar as classes disponibilizadas pela API e mandar os e-mails. As principais classes da API são as seguintes:

SimpleEmail: representa um e-mail simples que contém apenas texto.

MultiPartEmail: representa um e-mail que pode conter arquivos atachados.

HtmlEmail: representa um e-mail escrito em formato HTML.

EmailAttachment: representa um arquivo a ser atachado no e-mail (usado apenas com as classes MultiPartEmail e HtmlEmail).

Outra característica dessa API é o suporte a envio de e-mails através de servidores de SMTP que requerem autenticação. É preciso apenas informar o nome de usuário e a senha, além do endereço do servidor SMTP.

Este é um exemplo básico de como seria o código para envio de um e-mail em texto através de um servidor de SMTP autenticado:

	SimpleEmail email = new SimpleEmail();
	email.setHostName("smtp.somedomain.com");
	email.setFrom("me@somedomain.com");
	email.setAuthentication("usr", "pwd");
	email.addTo("someone1@somedomain.com");
	email.addCc("someone2@somedomain.com");
	email.addBcc("someone3@somedomain.com");
	email.setSubject("Meu primeiro e-mail");
	email.setText("Olá, estou usando o Commons E-mail API!");
	email.send();

Como é possível perceber, basta instanciar a classe desejada (dependendo do tipo do e-mail que você quer enviar), popular o objeto e chamar o send(). O resto fica por conta da API.

Para mais informações, visite o site oficial da API: Commons E-mail API. Lá você encontra um guia de usuário explicando mais detalhadamente o seu funcionamento.

Comentários

Wagner, normalmente os servidores de envio de e-mail (SMTP) pedem um usuário e senha como forma de autenticação. Se o servidor que você estiver usando não exigir, você não precisa dessa linha no código. Entre em contato com o administrador do servidor ou procure se informar sobre como o servidor funciona caso tenha mais dúvidas a respeito de como proceder. Abraço!

Enviado em 30/12/2011 às 14:56:33 horas, por Carlos Tosin


O que eu coloco no lugar de usr e pwd?
email.setAuthentication("usr", "pwd");

Enviado em 30/12/2011 às 14:09:56 horas, por Wagner


Carlos Tosin , parabens pelo trabalho continue assim .

Enviado em 14/08/2010 às 11:32:51 horas, por João Neto


lega tosin
continuenos ajudando
abraço

Enviado em 24/03/2010 às 08:49:05 horas, por bruno candéas


A Softblue está de parabéns! Os instrutores são muito organizados. Isso é notório pela qualidade do post e pelo esmero na criação do website.

Sucesso!

Enviado em 02/03/2010 às 09:43:19 horas, por Felipe Gomes


Bom post!

Enviado em 01/02/2010 às 09:46:56 horas, por João Francisco

Mailing List

Cadastre o seu e-mail para receber notícias e informações sobre novos cursos, atualizações e outras novidades da Softblue!

Diferenciais

Liberdade total
Estude quando e como quiser. Disponibilidade do conteúdo 24h por dia, 7 dias por semana.
Matrícula não expira
Pagamento único, sem mensalidades, e acesso vitalício a todo o conteúdo, mesmo após a conclusão do curso.
Cursos sempre atualizados
Acesso às atualizações dos cursos de forma automática.
Tire suas dúvidas
Suporte eficiente para esclarecer suas dúvidas no decorrer do curso.
Padrão de qualidade
Atendimento diferenciado e material de alta qualidade, feito por quem entende do assunto.

Certificado

Insira o código do certificado que deseja consultar:

Pagamento





Conheça todas as nossas formas de pagamento.


             Cursos  |   Perguntas  |   Sobre nós  |   Sorteios  |   Blog  |   Política de Privacidade  |   Contato Desde 2003.    
Todos os direitos reservados ®    
CNPJ 06.860.085/0001-64