Javax/mail/Authenticate

8 respostas
G

Oi… onde posso baixar: javax/mail/Authenticator ???

valeu!!!

:wink:

8 Respostas

G

aí pessoal alguém pode me ajudar com essa classe de envio de a-mail?? :cry:

package projeto; 

import javax.mail.*; 
import javax.mail.internet.*; 

import java.util.Properties; 

public class Email2 { 

   public class SMTPAuthenticator extends Authenticator { 
      public PasswordAuthentication getPasswordAuthentication() { 
         String username = "meuLogin"; 
         String password = "minhasenha"; 
         return new PasswordAuthentication(username, password); 
      } 
   } 

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

      Properties mailProps = new Properties(); 
      //definição do mailserver 

      mailProps.put("smtp.mail.yahoo.com.br", mailServer); 

      Authenticator auth = new SMTPAuthenticator(); 
      Session mailSession = Session.getDefaultInstance(mailProps, auth); 

      mailProps.put("smtp.mail.yahoo.com.br", "false"); 

      //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(s) destinatário(s) e qual o tipo do 
      //destinatário. 
      //os possíveis tipos de destinatário: TO, CC, BCC 

      message.setRecipient(Message.RecipientType.TO, destinatario); 
      //definição do assunto do email 

      message.setSubject(subject); 
      //definição do conteúdo da mesnagem e do 
      //tipo da mensagem 

      message.setContent(mensagem.toString(), "text/html"); 
      //a linha de código seguinte é a responsável 
      //pelo envio do email 

      Transport.send(message); 
   }

JSP:

<jsp:useBean id="email" class="projeto.Email2"/> 

<html> 
<body> 

<% 
  
  String mailServer = "smtp.mail.servidor.com.br"; 
  String subject = request.getParameter("assunto"); 
  String from = request.getParameter("para"); 
  String to = request.getParameter("de"); 
  String mensagem = request.getParameter("mensagem"); 
  email.sendSimpleMail(mailServer, subject, to, from, mensagem); 
%>

throw o seguinte erro:

javax.servlet.ServletException: javax/mail/Message
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

valeu pessoal!!! :cry:

B

Olha,
eu baixei a package JavaMail completa aí não tive problemas com o Autheticator…
Aí vai…
http://java.sun.com/products/javamail/reference/api/index.html

Quanto ao erro… ainda estou testando aki,

Mas pelo que puder ver o problema está em:

Message message = new MimeMessage(mailSession);

E nos testes que fiz deu a seguinte menssagem de erro:
java.lang.NoClassDefFoundError: javax/activation/DataSource

Qualquer novidade… dah um toque :lol:

A

vc precisa baixar o JavaBeans Activation Framework (JAF)

da uma olhada aki

:wink:

G

eu tenho toda a API instalada direitinho… mas não funfa!

:wink:

A

“JavaPlayer”:
eu tenho toda a API instalada direitinho… mas não funfa!

:wink:

tá dando o mesmo erra da Bárbara?

B

Resolvi aquele problema…

Era porque tinha que ter o activation.jar

Mas a questão é que agora dá outro erro: 8O

Erro:javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect

Acho que deve ser nos parâmetros de configuração…

Você consegui fazer teu código rodar?

Bjos,

G

Oi…

Babipc, consegui rodar minha classe de envio de e-mail…

esse erro ocorre porque vc não possui um servidor de e-mail local (localhost:25)…

altere o SMTP, para um SMTP válido e teste…localmente vc não vao conseguir enviar…a não ser que vc tenha um servidor local de e-mail…

Qualquer dúvida é só falar…

Se vc quiser eu posso te mandar um exemplo!

:wink:

B

Na realidade eu tenho um servidor de e-mail local, o problema é que eu estava colocando o endereço do servidor no local onde devia estar “mail.stmp.host”, assim:

mailProps.put(“mail.smtp.host”, mailServer);

Mudando apenas isto, consegui com que funcionasse…

Obrigada pela atenção!!! :grin:

Criado 13 de dezembro de 2004
Ultima resposta 17 de jan. de 2005
Respostas 8
Participantes 3