blog | sorteios
Softblue - Qualidade em Cursos On-Line  

e-mail:

senha:
cadastrar | recuperar senha | entrar

Home Cursos Kits Como funciona Perguntas Frequentes Quem somos Contato

Blog Softblue

Carlos Eduardo Gusso Tosin é formado em Ciência da Computação pela PUC-PR, pós-graduado em Desenvolvimento de Jogos para Computador pela Universidade Positivo, Mestre em Informática na área de Sistemas Distribuídos, também pela PUC-PR e instrutor oficial dos cursos de Java da Softblue. Trabalha profissionalmente com Java desde 2002 e possui 5 anos de experiência no desenvolvimento de sistemas para a IBM dos Estados Unidos, utilizados a nível mundial. Atua há mais de 3 anos com cursos e treinamentos de profissionais em grandes empresas e escreve artigos para a revista Java Magazine. Possui as certificações da Sun SCJP, SCJD, SCWCD, SCBCD, SCEA, IBM SOA, IBM OOAD (Object Oriented Analysis and Design) e ITIL Foundation.

Enviando e-mails no Java

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

     

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

Envie o seu comentário

  Nome: 
  Comentário: 
Digite o código aqui:

Mailing List

Cadastre o seu e-mail para receber notícias e informações sobre novos cursos e novidades dos blogs de nossos instrutores!



* Cadastre-se e participe de sorteios de brindes e livros de informática!

Curso on-line

Curso Java para Web: Java Server Faces
de R$ 389,90 por R$ 349,90
(em até 18x)

Conheça nossos outros cursos

Posts anteriores

.: Softblue Logic IDE

.: Cannot load php5apache2_2.dll

.: Conhecendo o Android

.: Protegendo senhas

.: Apache Commons Lang API

.: Trailer do filme: Java 4-ever!

.: Gerando PDF em Java

.: PHP e arquivos em cache

.: JDK e Eclipse no Linux

.: Instalando o Eclipse

.: Instalando o JDK

.: Zip/Unzip em Java

.: Enviando e-mails no Java

Nossos cursos

Nossos cursos são criados com base na realidade do mercado de trabalho, abordando teoria e prática das tecnologias. Conheça nossos cursos clicando aqui.

Softblue 2003/2012 - Todos os direitos reservados