Resolvi fazer esse novo post para atender as pessoas que utilizaram um outro post meu relacionado a API Java Mail. E também pela quantidade de pessoas sugerindo o teste da API Commons Mail.
Então como o padrão utilizado no outro post sobre Java Mail vou explicar como fazer os downloads, setar o path e utilizar a API.
Só foi possível a criação dos post pois algumas pessoas contribuíram com material ou até com todo o material.
Colaboradores: renatocustodio , claytoncastelli.
Parte 1 - Download API Commons Mail
Faça o download de todos os arquivos .jar e coloque-os de preferência em uma pasta relacionada ao seu projeto.
como uso o eclipse, eu apenas adiciono os arquivos .jar no meu Path do projeto que estou usando, caso quem não usar o eclipse procure uma forma de setar o classpath, porque o resto do tutorial é aplicavel a todos os tipos de ferramenta.
clique com o botão direito e vá na opção Build Path e depois em Configute Build Path…
abrira uma janela, e nela vá na aba Libraries e depois clique no botao Add External JARs…
vá aonde esta os arquivos .jar e adicione um por um. Pronto, API Commons Mail adicionada ao Path.
[b]
Parte 3 - Envio de mensagem
Apenas com mensagem [/b]
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class TesteCommons {
public static void main(String[] args) {
SimpleEmail email = new SimpleEmail();
try {
email.setDebug(true);
email.setHostName("smtp.gmail.com");
email.setAuthentication("seu_nome_de_usuario","sua_senha");
email.setSSL(true);
email.addTo("para_quem_enviara_email"); //pode ser qualquer um email
email.setFrom("seu_email_gmail"); //aqui necessita ser o email que voce fara a autenticacao
email.setSubject("Teste");
email.setMsg("Mensagem Testando");
email.send();
} catch (EmailException e) {
System.out.println(e.getMessage());
}
}
}
- Envio de mensagem com 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 TesteCommonsFile {
/**
* @param args
*/
public static void main(String[] args) {
// Create the attachment
// Caminho do arquivo a ser enviado
File f = new File("C:\\Documents and Settings\\Gabriel\\Meus documentos\\Meus arquivos recebidos\\rms.java");
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(f.getPath()); // Obtem o caminho do arquivo
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("File");
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("seu_usuario_login","sua_senha");
email.setSSL(true);
email.addTo("para_quem_enviara_email"); //pode ser qualquer um email
email.setFrom("seu_email_gmail"); //aqui necessita ser o email que voce fara a autenticacao
email.setSubject("The file");
email.setMsg("The file");
// add the attachment
email.attach(attachment);
// send the email
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
}
Novamente queria lembrar que o tópico só pode ser iniciado com a ajuda dos Colaboradores: renatocustodio , claytoncastelli.
Observação:
Toda sugestão será bem vinda.
Quem possuir algo que possa ser agregado ao tópico só enviar que adicionaremos.
Como uso proxy, ao invés de colocar smtp.gmail.com tenho que colocar o ip da máquina que contém o proxy(o servidor), e lá é que gerencio as contas do e-mail.
O problema é que uso o analogx e pelo que vi em pesquisas ele é pessimo pra gerenciar e-mails. Ja intalei o winconnection, mais não sei como configurá-lo nem o www funciona mais…
Como uso proxy, ao invés de colocar smtp.gmail.com tenho que colocar o ip da máquina que contém o proxy(o servidor), e lá é que gerencio as contas do e-mail.
O problema é que uso o analogx e pelo que vi em pesquisas ele é pessimo pra gerenciar e-mails. Ja intalei o winconnection, mais não sei como configurá-lo nem o www funciona mais…
Se alguém puder me ajudar, ficarei grato![/quote]
Tudo bem marthian_2?
Desculpe meu caro, mas isso sai de meus conhecimentos.
Espero que alguem possa lhe ajudar ou que ja tenha resolvido o problema.
Abraço.
Gabriel eu sei que já tem tempo que você postou este blog, mas eu estou precisando de ajuda com ele.
Eu dei um control+c e um control+v na sua classe e coloquei as informações de uma conta de e-mail que eu tenho no gmail, mas não tá funcionando de jeito nenhum dando um erro em tempo de execução que mostra o seguinte:
Sending the email to the following server failed : smtp.gmail.com:25