Utilizando a API Commons Mail
Esse artigo é útil para apresentar mais uma opção de envio de email, diferente da tradicional API Java Mail. Então será feito um prático exemplo de envio de email com API Commons Mail.
Primeira Parte - Download API Commons Mail
Realize o download de todos os arquivos .jar e coloque-os em uma pasta relacionada ao seu projeto.
- activation: activation.jar (http://java.sun.com/products/archive/javabeans/jaf102.html)
- commons-email-1.1: commons-email-1.1.jar (http://commons.apache.org/downloads/download_email.cgi)
- javaMail: mail.jar (http://java.sun.com/products/javamail/downloads/index.html)
Segunda Parte 2 - Adicionando no classpath
- No caso do eclipse, apenas adicionamos os jars no Path do projeto, caso quem não usar o eclipse procure uma forma de setar o classpath, pois o artigo é aplicavel a todos os tipos de ferramenta.
- Dê um clique com o botão direito e vá na opção Build Path e depois em Configute Build Path.
Vai abrir uma janela e nela vá na aba Libraries e depois selecione o botao Add External JARs
- Passe o caminho onde se encontram os jars citadops anteriormente e adicione um por um. Passando essa etapa a API Commons Mail está adicionada ao Path e pronta para uso em sua aplicação.
Terceira Parte 3 - Enviando uma mensagem
Abaixo segue um exemplo de código voltado para enviar email do gmail, mas obviamente mandaria email de outros servidores, para isso precisaríamos dos valores HostName.
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class ExecutavelCommons {
public static void main(String[] args) {
SimpleEmail email = new SimpleEmail();
try {
email.setDebug(true);
email.setHostName("smtp.gmail.com");
email.setAuthentication("nome_de_usuario","senha");
email.setSSL(true);
email.addTo("destinatario_email"); //pode ser qualquer email
email.setFrom("email_gmail"); //será passado o email que você fará a autenticação
email.setSubject("Enviando email");
email.setMsg("Teste de envio de email");
email.send();
} catch (EmailException e) {
System.out.println(e.getMessage());
}
}
}
Envio de email com anexo
Para o envio de email com anexo você vai precisar passar o caminho do seu arquivo.
import java.io.File;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
public class ExecutavelCommonsFile {
/**
* @param args
*/
public static void main(String[] args) {
// Create the attachment
// Caminho do arquivo a ser enviado
File f = new File("C:\testando.txt");
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(f.getPath()); // Obtem o caminho do arquivo
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Anexo");
attachment.setName(f.getName()); // Obtem o nome do arquivo
try {
// Create the email message
MultiPartEmail email = new MultiPartEmail();
email.setDebug(true);
email.setHostName("smtp.gmail.com");
email.setAuthentication("usuario_login","senha");
email.setSSL(true);
email.addTo("destinatario_email"); //pode ser qualquer email
email.setFrom("email_gmail"); //será passado o email que você fará a autenticação
email.setSubject("Teste anexo");
email.setMsg("Teste anexo");
// add the attachment
email.attach(attachment);
// send the email
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
}
Então como podemos ver é mais uma API Java de fácil usabilidade e manutenção e que para quem não conhecia será mais uma opção de envio de email.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo