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.