Enviar email com Java

O poder do Java é muito grande, você poderia desenvolver um webmail em Java. Existem até exemplos na internet de como se fazer isso, não é o objetivo deste post, mas sim dar uma introdução básica de como Enviar Email com Java.
Importante: Antes de sair copiando o código, colando no seu projeto e testando, preste atenção nessas poucas observações, entenda primeiro e faça depois, garanto que você terminará mais rápido do que se tivesse apenas usado a técnica do: CTRL+C CTRL+V.
Primeiro de tudo: você precisará da API JavaMail que poderá ser baixada aqui: JavaMail
Endereço SMTP: mude para o domínio do seu email (exemplo: smtp.gmail.com), caso necessário pergunte ao administrador do servidor de email o endereço smtp:
props.put("mail.smtp.host", "mail.seudominio.com.br");
Tipo da mensagem email: nesse caso foi definido como html:
mensagem.setContent(msg, "text/html;charset=ISO-8859-1");
Debug: importante para verificar erros e ver se ocorreu tudo certo:
session.setDebug(true);
Múltiplos endereços: o Javamail permite o envio para mais de um destinatário ao mesmo tempo, mas, como aqui a ideia é enviar para apenas um, ficou assim:
Address to[] = new InternetAddress[1]; to[0] = new InternetAddress(para);
Código completo:
package br.com.luiztaborda.blog.email;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class EmailSimples {
public static void enviarEmail(
String de, String para, String assunto, String msg)
throws MessagingException {
Properties props = System.getProperties();
// importante: Setando o host smtp
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", "mail.seudominio.com.br");
// criando algumas propriedades e pegando a Session default
Session session = Session.getDefaultInstance(props, null);
// opcional: habilitando o debug
session.setDebug(true);
// criando a mensagem
Message mensagem = new MimeMessage(session);
// remente
InternetAddress addressFrom = new InternetAddress(de);
Address to[] = new InternetAddress[1];
mensagem.setFrom(addressFrom);
mensagem.setSubject(assunto);
mensagem.setContent(msg, "text/html;charset=ISO-8859-1");
// para texto normal use "text/plain;charset=ISO-8859-1"
// você pode mudar o charset também
to[0] = new InternetAddress(para);
mensagem.setRecipients(Message.RecipientType.TO, to);
Transport.send(mensagem);
}
public static void main(String[] args) throws MessagingException {
EmailSimples.enviarEmail(
"seuemail@seudominio.com.br", "destino@dominio.com.br",
"assunto", "corpo da mensagem");
}
}
Enquanto eu escrevia este post surgiu a necessidade aqui na empresa de fazer autenticação para enviar os emails nos nossos sistemas, para não misturar as coisas neste post manterei como está(sem a necessidade de autenticar), porem no próximo post farei já com a autenticação e verão que a diferença é muito pouca, é só prestar atenção.
E o post sobre Enviar email autenticado com Java saiu, confiram
Um grande abraço a todos, agente se “fala”…
[url=http://uebd.in/backgammon-tiled-wallpaper/]k750 backgammon[/url] [url=http://uebd.in/queen-elizabeth-iis-jewels/]queen of england’s jewels[/url] [url=http://uebd.in/poker-hand-rank-order-soh/]holdem hand rank[/url] [url=http://uebd.in/european-roulette-table/]european roulette strategy[/url] [url=http://uebd.in/deuces-wild-techniques/]deuces wild poker free[/url]