Enviar email - resolvido

2 respostas
jonasjgs2

bom dia amigos,

peguei um exemplo para enviar email e esta me retornando a seguinte excessao:
o usuario do email me falou que a porta e: 587

o que pode esta me dando erro
e como resolver?
desde ja agradeco…

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package testesemail;
import java.util.Date;

import java.util.Properties;

import javax.mail.*;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import javax.mail.Authenticator;

/**
*

  • @author Jonas
    */
    public class TestesEmail {

    /**

    • @param args the command line arguments
      
      */
      
      public static void main(String[] args) {
      
      Properties p = new Properties();
      
      p.put(mail.host, smtp.rao.terra.com.br);
      
      Session session = Session.getInstance(p, new Autenticacao());
      
      MimeMessage msg = new MimeMessage(session);
      
      try {
      
      // “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");
      
       // evniando mensagem (tentando)   
       Transport.send(msg);
      
      } catch (AddressException e) {
      
      e.printStackTrace();
      
      // nunca deixe catches vazios!
      
      } catch (MessagingException e) {
      
      e.printStackTrace();
      
      // nunca deixe catches vazios!
      
      }
      

    }
    }

class Autenticacao extends Authenticator {

@Override
protected PasswordAuthentication getPasswordAuthentication() {

    System.out.println("Autenticando...");
    return new PasswordAuthentication("[email removido]", "qwemnb");
}

}

com.sun.mail.smtp.SMTPSendFailedException: 550 5.7.1 Must Authenticate!
;
nested exception is:
com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Must Authenticate!

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2114)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1618)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119)
at javax.mail.Transport.send0(Transport.java:195)
at javax.mail.Transport.send(Transport.java:124)
at testesemail.TestesEmail.main(TestesEmail.java:46)

Caused by: com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Must Authenticate!

at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1625)
... 4 more

2 Respostas

drsmachado
nested exception is: 
com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Must Authenticate!

O erro está na peça que fica entre o teclado e a cadeira e programa. Se ele pegasse o erro e jogasse no google translate, veria que se refere à problema quanto à autenticação.
Logo, você terá que implementar alguma coisa a mais para funcionar.

jonasjgs2

segue o restante que faltava

p.put("mail.smtp.socketFactory.port", "587");
    p.put("mail.transport.protocol", "smtp");
    p.put("mail.smtp.socketFactory.port", "587");
    p.put("mail.smtp.socketFactory.fallback", "false");
    p.put("mail.smtp.starttls.enable", "true");
    p.put("mail.smtp.auth", "true");
    p.put("mail.smtp.port", "587");
Criado 4 de outubro de 2012
Ultima resposta 4 de out. de 2012
Respostas 2
Participantes 2