Hotmail não recebe mensagens pelo Javamail

Olá a todos,

Fiz uma aplicação para enviar mensagens ao usuário quando ele esquece a senha ou quando ele se cadastra.
Está tudo funcionando perfeitamente (Yahoo, Gmail, Terra e Webmail estão recebendo normalmente), só que reparei que o Hotmail não está recebendo as mensagens!

Estou utilizando o servidor da Locaweb. Pelo webmail o Hotmail recebe normalmente as mensagens.

Alguém poderia me ajudar?

*Encontrei 2 tópicos aqui no GUJ com os mesmos problemas, todos sem solução.
**As mensagens do Hotmail não estão na caixa de SPAM.

Poste o trecho de codigo responsavel pelo envio…p/ analisarmos de q forma tais fazendo a autenticacao …

O hotmail tem uma política Anti-Spa. Tive alguns problemas com isso… mais o envio era em massa… uma lista de alunos no caso. Será que n seria isso ?

Dá uma olhada se os emails não estão caindo nos spamns…

tbm já tive esse problema, ela bota nos lixos eletrônicos…

Primeiramente obrigado pela atenção de todos.
Realmente na Caixa de Spam não está caindo.
O estranho é que quando coloco 2 endereços, o Hotmail 1º e mais um outro e-mail, ele recebe normal.
Se coloco 2 endereços, um outro e-mail 1º e o Hotmail 2º, dai ele não recebe.

//*******************************************
//Email Bean

import java.util.Date;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
*

  • @author christiano
    */
    public class EmailBean {
    private String to = null;
    private String subject = null;
    private String message = null;
    private static Properties props = null;
    private static Session session = null;

    public void setTo(String to) {
    this.to = to;
    }

    public void setSubject(String subject) {
    this.subject = subject;
    }

    public void setMessage(String message) {
    this.message = message;
    }

    public void sendMail() throws Exception{

     Properties conf = new Properties();
     conf.load(this.getClass().getResourceAsStream("dadosMail.properties"));
     
     props = System.getProperties();
     props.put("mail.smtp.host", conf.getProperty("mailServer"));
     props.put("mail.pop3.host", conf.getProperty("popServer"));
     props.put("mail.smtp.auth", "true");
     session = Session.getInstance(props, new Autenticar(conf.getProperty("from"), conf.getProperty("password"))); 
     
     try{
                     
         Message message = new MimeMessage(session);
         Address toAddress[] = {new InternetAddress(this.to)};
         
         
         message.setRecipient(Message.RecipientType.TO, new InternetAddress(this.to));
         message.setFrom(new InternetAddress(conf.getProperty("from")));
         message.setSubject(this.subject);
         
         message.setSentDate(new Date());
         message.setContent(this.message, "text/html");
                 
         Transport transport = session.getTransport("smtp"); 
         transport.connect(conf.getProperty("mailServer"), conf.getProperty("from"), conf.getProperty("password")); 
         transport.sendMessage(message, toAddress);
         
     }catch(MessagingException e){
         throw new Exception(e.getMessage());
     }catch(Exception e){
       e.printStackTrace();  
     }
    

    }
    }

//******************************************************
//Authenticator

import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

/**
*

  • @author christiano
    */
    public class Autenticar extends Authenticator {

    Properties conf = new Properties();
    private String usuario;
    private String senha;

    public Autenticar() {
    }

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

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

Muito estranho!
Se eu chamar esse método pelo Main funciona que é uma beleza.
Agora se eu executo o método pela aplicação da zica somente com o Hotmail!

Minha aplicação está usando Struts, Hibernate, Java6 e Tomcat.

usa o code para melhorar visibilidade do codigo…

// seu o code

Bom, ainda não consegui resolver o problema.
Reparei que o Hotmail não recebe mensagens com formatação HTML, mesmo colocando:
// msg.setContent(this.message, “text/html”);
Se eu coloco texto corrido funciona normalmente.

Alguém sabe como formatar o texto da mensagem sem usar HTML?
Ou será que falta acertar mais alguma configuração do Properties ou MimeMessage?

Finalmente consegui resolver o problema!!!
Era só ter dado uma olhada nos DOCS que vem com o Javamail.
Para mandar mensagens com formatação HTML é só seguir a estrutura do sendhtml.java.

Bom, essa foi a unica maneira que consegui para que o hotmail recebesse mensagens com formatação HTML.