Posts Tagged ‘Webmail’

Enviar email autenticado com Java

Email autenticado com Java
Enquanto eu estava escrevendo o post anterior (Enviar email com Java) surgiu a necessidade na empresa de que os envios de email fossem autenticados, por isso logo após ter publicado o outro post resolvi escrever este para mostrar a diferença.

Repare que as diferenças são muito poucas, mas aconselho que leia o post de envio simples para entender como este funciona e assim entender de modo mais “easy” como autenticar.

Para autenticar você terá que setar mais uma propriedade dizendo que é necessário autenticação:

props.put("mail.smtp.auth", "true");

No modo simples para pegar a sessão se faz assim:

Session session = Session.getDefaultInstance(props, null);
//o null que mudará

Para passar o usuário e a senha faça deste modo:

Authenticator auth = new Authenticator(){

	public PasswordAuthentication getPasswordAuthentication() {
		return new PasswordAuthentication("usuario", "senha");
	}
};
Session session = Session.getDefaultInstance(props, auth);

E ai está, as diferenças são apenas essas, o resto é igualzinho.

Segue o código completo

Read the rest of this entry »

 

Enviar email com Java

Email

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:

Read the rest of this entry »