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);
}
}
<%@ 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>