Problema ao enviar Email

4 respostas
brunoccouto

Galera tenho uma problema que é o seguinte:

Tenho uma aplicacao simples para enviar email que é:

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("[email removido]"));
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));
            
            // 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();
        }
     }
}
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...

4 Respostas

marciobarroso

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

R

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"));
brunoccouto

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???

marciobarroso

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

Criado 7 de novembro de 2006
Ultima resposta 8 de nov. de 2006
Respostas 4
Participantes 3