API para envio de email (via SMTP)

6 respostas
R

Primeiramente queria logo me desculpar porque nao sei se esse minha pergunta seria mais apropiada nesse forum ou no forum de desenvolvimento web. Segundo, queria dizer tambem que nao tenho muita experiencia em java e menos ainda em java para web.

A minha pergunta eh: estou querendo fazer uma aplicacao (java claro :wink: ) para enviar email via SMTP e queria saber que API usar e onde conseguir um material bom para estudar a API?

[]'s

6 Respostas

T

Para mandar email, procure por: JavaMail (a API oficial) e Jakarta Commons Email (um encapsulamento de JavaMail que lhe permite, entre outras coisas, mandar e-mail em HTML com figuras, o que normalmente você precisa fazer em 95% do tempo).
JavaMail
Commons Email

Para testar suas aplicações, use o James (SMTP/POP3 server). É muito adequado para testar dentro de sua empresa, onde normalmente:

  • Você não pode ficar brincando com o servidor de email corporativo;
  • Você, devido às regras do proxy/firewall, não pode usar um servidor de email externo como o GMail.
R

valeu cara baixei a api e tentei fazer um programinha bem basico usando o simple mail. pode me tirar um duvida?

package br.com.bernardo.email;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class EmailTeste {	
	public static void main(String[] args) throws EmailException {
		SimpleEmail email = new SimpleEmail();
		email.setDebug(true);
		email.setHostName("172.25.4.124");
		email.addTo("[email removido]", "Bernardo");
		email.setFrom("[email removido]", "Eu");
		email.setSubject("Mensagem Teste");
		email.setMsg("Isso é um teste.");
		email.send();
	}
}

to recebendo essa mensagem de erro:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Message
at br.com.bernardo.email.EmailTeste.main(EmailTeste.java:8)

o que tem de errado no codigo? ahhh ... voce pode me dizer um servidor de email que eu possa usar para fazer testes?

[]'s

T

Como eu já tinha dito, o Commons Email é um encapsulamento para o JavaMail, portanto você precisa também do JAR do JavaMail.

V

Provavelmente as classes da api que vc está usando não estão no classpath da aplicação.

Se vc está utilizando via linha de comando, é melhor ajustar a sua variável de ambiente CLASSPATH, qualquer dúvida, dê uma olhada neste artigo

:thumbup:

R

meu CLASSPATH ta assim: “.;C:\Arquivos de programas\Java\jre1.6.0_01\lib\ext\QTJava.zip;C:\eclipse\workspace\APIs”

esse diretorio APIs tem todas as apis que eu to baixando(outras pastas dentro dessa pasta), vou baixar o javamail e colocar ele nessa pasta, depois venho aqui postar os resultados

posso fazer assim? ou preciso colocar o caminho no classpath para o .jar de cada api?

R

valeu ae pela ajuda pessoal o simple mail deu certo aqui, vou tentar usar o atach e html :slight_smile: qq duvida eu vou encher o saco de voces :smiley:

Criado 25 de fevereiro de 2008
Ultima resposta 26 de fev. de 2008
Respostas 6
Participantes 3