Erro ao Enviar Email [RESOLVIDO]

5 respostas
khaue_viana_

Pessoal estou tentando enviar e-mail's através do JAVA. Ja tentei aquele artigo que tem aqui no GUJ, mas não funcionou aqui. Achei outro código:

public void Mail() {
        Properties props = new Properties();
        /** Parâmetros de conexão com servidor Hotmail */
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.host", "smtp.live.com");
        props.put("mail.smtp.socketFactory.port", "587");
        props.put("mail.smtp.socketFactory.fallback", "false");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "587");
        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {

                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("[email removido]", "MINHA SENHA");
                    }
                });
        session.setDebug(true);
        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("[email removido]"));
            message.setRecipients(Message.RecipientType.TO,
            InternetAddress.parse("[email removido]"));
            message.setSubject("Enviando email com JavaMail");
            message.setText("Enviei este email utilizando JavaMail com minha conta Hotmail!");
            Transport.send(message);
            System.out.println("Feito!!!");
        } catch (MessagingException e) {
            JOptionPane.showMessageDialog(null, e);
            throw new RuntimeException(e);
        }

Porém ao executar acontece esse EXCEPTION:

javax.mail.MessagingException: 501 5.5.4 Invalid Address

Alguém poderia testar e ver se está certo, ou me ajudar de alguma forma.

Lembrando que estou utilizando SMTP do Hotmail.

Abraços!

5 Respostas

programadora

Oi!
Não testei aqui, mas dando uma olhada rápida no seu código, tenho uma sugestão. Tenta colocar isso:

message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));

ao invés de:

message.setRecipients(Message.RecipientType.TO,  InternetAddress.parse("[email removido]"));

vlw!

andre_teprom

khaue,

Utilizando meu código com o GMAIL consegui, mas mudando para o LIVE do hotmail, não.
Cria uma conta no Google, e assim vamos saber se o problema é com o servidor ou com seu código.

+++

khaue_viana_

Então kra, posta pra mim o do servidor GMAIL. Pra eu testar aqui. Obrigado.

khaue_viana_

Vlw kra, consegui aki com smtp.gmal.com

E agora do hotmail, será que tem alguma solução?

Todas as pesquisas que eu efetuei aki estão dizendo que é o smtp.live.com

Alguem ai trabalha com HOTMAIL?

Abraços!

khaue_viana_

Vo utilizar o GMAIL msm, mas quem souber alguma solução do HOTMAIL, agradeço

segue o código:

public void Mail() {
        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "587");
        props.put("mail.smtp.socketFactory.fallback", "false");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "587");

        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {

                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("[email removido]", "MINHA SENHA");
                    }
                });
        session.setDebug(true);
        try {

            Message message = new MimeMessage(session);
            message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("[email removido]"));
            message.setSubject("Enviando email com JavaMail");
            message.setText("Enviei este email utilizando JavaMail com minha conta gmail!");
            Transport.send(message);
            System.out.println("Feito!!!");
        } catch (MessagingException e) {
            JOptionPane.showMessageDialog(null, e);
            System.out.println(e);
            throw new RuntimeException(e);
        }
    }
Criado 21 de fevereiro de 2011
Ultima resposta 21 de fev. de 2011
Respostas 5
Participantes 3