não consigo usar o javamail!

2 respostas
G

Buenas!!!

Bom, eu fiz uma pagina JSP que o usuário fornece seu email e eu mando a senha dele pelo mail.
Tambem fiz uma classe java que faz o envio do mail. Baixei a API do javaMail e o JAF e compilei ela no meu pc com o JBuilder. Coloquei essa minha classe java no servidor e ateh ai deu tudo certo. Inclusive copiei o arquivo java daqui msm do PJ! :)
O problema é quando eu chamo a classe java a partir do JSP (ambos estão no servidor)! ele da o seguinte erro:

C:\Tomcat\work\Catalina\localhost\projeto\org\apache\jsp\Senha_jsp.java:130: cannot access javax.mail.MessagingException
file javax\mail\MessagingException.class not found
m.sendSimpleMail ("provedor.br", assunto, mail, from, msg);
^
1 error

no servidor, tentei fazer o import do javax.mail.* e javax.mail.internet.* no JSP, setando, no CLASSPATH (meu computador - avançado - variaveis de ambiente - variaveis de sistema) o diretorio do JAF (c:\jaf\activation.jar) e do javamail (c:\javamail\mail.jar). Meu CLASSPATH ficou assim: c:\jaf\activation.jar;c:\javamail\mail.jar. Mesmo assim, ele não acha o pacote javax.mail

Email.java:
package projeto;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class Email {

  public void sendSimpleMail (String mailServer, String subject, String to, String from, String msg) throws AddressException, MessagingException {

    Properties mailProps = new Properties();

    //Definição do mailserver
    mailProps.put ("mail.smtp.host", mailServer);

    Session mailSession = Session.getDefaultInstance (mailProps, null);

    //As duas linhas seguintes de código, colocam no formato de endereços,
    //supostamente válidos, de email os dados passados pelos parâmetros to e from.
    InternetAddress destinatario = new InternetAddress (to);
    InternetAddress remetente    = new InternetAddress (from);

    //As duas linhas de código a seguir, são responsáveis por setar os atributos e propriedas
    //necessárias do objeto message para que o email seja enviado. Inicialização do objeto Message
    Message message = new MimeMessage (mailSession);

    //Definição de quem está enviando o email
    message.setFrom (remetente);

    //Define o destinatário e seu tipo (TO, CC ou BCC)
    message.setRecipient (Message.RecipientType.TO, destinatario);

    //Definição do assunto do email
    message.setSubject (subject);

    //Definição do conteúdo da mensagem e do tipo da mensagem
    message.setContent (msg.toString(), "text/plain");

    //A linha de código seguinte é a responsável pelo envio do email
    Transport.send (message);
  }
}
Senha.jsp:
<%@ page import="java.sql.*"%>
<%@ page import="projeto.Email"%>
<jsp:useBean id="Email" class="projeto.Email"/> (tbm tentei sem essa linha)
<%
mail = request.getParameter("mail");
  try {
    //Chama Email.java
    projeto.Email m = new projeto.Email();

    m.sendSimpleMail ("provedor.br", assunto, mail, from, msg);
  }
  catch (Exception e) {
    throw new Exception ("Erro! - " + e.getMessage());
  }
}
%>
<html>
  <form action="Senha.jsp" method="post">
    E-mail: <input name="mail" size="30" maxlength="50" />
    <br />
    <input type="submit" value="Envia">
  </form>
</html>
desculpa pela msg longa demais.... Agrade~ço desde já!

2 Respostas

D

Faça um teste, coloque na pasta web-inf/lib da sua webApp os JARs das libs do JavaMail.

G

bem certinho!!! valeu pela dica, dwildt!!

Criado 3 de setembro de 2004
Ultima resposta 6 de set. de 2004
Respostas 2
Participantes 2