Problema ao enviar Email

Galera tenho uma problema que é o seguinte:

Tenho uma aplicacao simples para enviar email que é:

[code]import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EnviarEmail {

public static void main(String args[]) {
  
    try {
        Properties p = new Properties();
        p.put("mail.host", "smtp2.locaweb.com.br");
        
        Session session = Session.getInstance(p, null);
        MimeMessage msg = new MimeMessage(session);
        
        // "de" e "para"!!
        msg.setFrom(new InternetAddress("xxxxxx@guj.com.br"));
        msg.setRecipient(Message.RecipientType.TO, new InternetAddress("xxxxx@guj.com.br"));
        
        // nao esqueca da data!
        // ou ira 31/12/1969 !!!
        msg.setSentDate(new Date());
        
        msg.setSubject("assunto da mensagem");
        
        msg.setText("corpo da mensagem");
        
        Transport.send(msg);
    } catch (AddressException e) {
        e.printStackTrace();
    } catch (MessagingException e) {
        e.printStackTrace();
    }
 }

}[/code]

Mas quando executo da o seguinte erro:

javax.mail.MessagingException: Could not connect to SMTP host: smtp2.locaweb.com.br, port: 25, response: -1 at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1270) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370) at javax.mail.Service.connect(Service.java:275) at javax.mail.Service.connect(Service.java:156) at javax.mail.Service.connect(Service.java:105) at javax.mail.Transport.send0(Transport.java:168) at javax.mail.Transport.send(Transport.java:98) at EnviarEmail.main(EnviarEmail.java:35)

Por que o erro??? Agradeço…

Vc precisa Autenticar no servidor. Tem um objeto neste pacote para autenticação. Desculpe mas não lembro o nome e nem tenho um exemplo aqui.

[]'s

Thiago tente isso

Tem q colocar esses 3 códigos:


// SEU Properties
 p.put("mail.smtp.auth","true");


public class Autenticador extends javax.mail.Autenticator{

private String usuario;
private String senha;


public Autenticador(String usuario, String senha){
  this.senha = senha;
  this.usuario = usuario;
}

public PasswordAuthentication getPasswordAuthentication(){
   return new PasswordAuthentication(usuario,senha);
}
}

Sess

Session session = Session.getDefaultInstance(p, new Autenticador("seuUsuario","suaSenha"));

Tenho um problema… eu nao sou usuario do localweb… mas sou de outro servidor… eu posso trocar só o servidor? O resto do código será o mesmo???

vc pode trocar o servidor … o importante é q se o servidor q vc configurar exigir autenticação para o envio, vc deverá ter os dados de login.

[]'s