Javamail para LOCAWEB

Bom dia a todos.

Desenvolvi um robô que envia emails corretamente via GMAIL e ITMNetWOrks.

Agora estou tentando implementar para LOCAWEB e recebo o seguinte erro:

jdbc:sqlserver://127.0.0.1:1433;DatabaseName=RHB2006-Desenvolvimento
SELECT * FROM Cliente cli WHERE cli.ClienteBloqueado = 'N' AND       cli.ClienteEmail IN ('fernandohbela@hotmail.com',                            'protese@rhb.com.br',                            'marcia.bella@rhb.com.br');
Total de Registros: 0javax.mail.MessagingException: Could not connect to SMTP host: 200.234.210.11, port: 587;
  nested exception is:
	javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
	at javax.mail.Service.connect(Service.java:317)
	at javax.mail.Service.connect(Service.java:176)
	at javax.mail.Service.connect(Service.java:125)
	at javax.mail.Transport.send0(Transport.java:194)
	at javax.mail.Transport.send(Transport.java:124)
	at principal.Enviar.envia(Enviar.java:237)
	at principal.Enviar.<init>(Enviar.java:97)
	at principal.PreparaEmail.folderSuporteVaso(PreparaEmail.java:57)
	at principal.PreparaEmail.<init>(PreparaEmail.java:21)
	at principal.EnviaEmail.<init>(EnviaEmail.java:9)
	at principal.EnviaEmail.main(EnviaEmail.java:18)

Estou usando o seguinte código

			//Configura algumas propriedades e pega a seção padrão
			
			Properties props = new Properties();
			props.put("mail.transport.protocol", "smtp");
			props.put("mail.host", this.strServidorSMTP);
			props.put("mail.smtp.auth", this.bolAutenticacaoServidor);
			props.put("mail.smtp.starttls.enable", "true");
			props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
			props.put("mail.smtp.port", this.strPortaServidorSMTP);

Podem me ajudar por favor?

Obrigado.

   [size=18] javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? [/size] 

Olá bom dia prsantos tudo tranquilo.

Cara eu apanhei muito para faze essas implementações de envio de email, segue um exemplo que funciona no : hotmail, gmail,yahoo, e outros mais.

[code] //Método adicionado o parâmetro que indica se o envio do email será texto simples (true) ou texto Html (false)
public static void enviar(String mensagem, String assunto, ArrayList<String> emailDestinatario, ArrayList<File> anexos, boolean emailPadrao) throws ValidacaoException, AmbienteException
{
if (mensagem == null || mensagem.trim().equals(""))
{
new ValidacaoException("A Mensagem (texto) do email não foi informada");
}
if (assunto == null || assunto.trim().equals(""))
{
new ValidacaoException("O Assunto do email não foi informado");
}
if (emailDestinatario == null || emailDestinatario.size() == 0)
{
new ValidacaoException("O(s) E-mail(s) do(s) destinatário(s) deve(m) ser informado(s)");
}

  if (config == null || !config.containsKey(&quot;PROVEDOR&quot;) || config.getString(&quot;PROVEDOR&quot;) == null || config.getString(&quot;PROVEDOR&quot;).trim().equals(&quot;&quot;))
     throw new AmbienteException(&quot;Configurações do servidor SMTP para envio de e-mail (email.properties) não definidas.&quot;);
  
  boolean autenticacao = config.getBoolean(&quot;AUTENTICACAO&quot;);
  boolean autTls = config.getBoolean(&quot;TLS&quot;);
  boolean debug = config.getBoolean(&quot;DEBUG&quot;);
  
  //smtp do provedor de email
  Properties props = new Properties();
  props.put(&quot;mail.smtp.host&quot;, config.getString(&quot;PROVEDOR&quot;).trim());
  props.put(&quot;mail.smtp.port&quot;, config.getString(&quot;PORTA&quot;).trim());
  props.put(&quot;mail.transport.protocol&quot;, &quot;smtp&quot;);
  props.put(&quot;mail.smtp.auth&quot;, String.valueOf(autenticacao));

  //Usuario para conexão ao servidor SMTP
  
  
  if (config.containsKey(&quot;USUARIO&quot;))
     USUARIO = config.getString(&quot;USUARIO&quot;).trim();
  else
     USUARIO = config.getString(&quot;EMAIL_REMETENTE&quot;).trim();

  props.put(&quot;mail.user&quot;, USUARIO);
  props.put(&quot;mail.pwd&quot;, config.getString(&quot;SENHA&quot;).trim());
  props.put(&quot;mail.smtp.socketFactory.fallback&quot;, &quot;false&quot;);
  props.put(&quot;mail.smtp.ssl&quot;, &quot;true&quot;);
  props.put(&quot;mail.smtp.ehlo&quot;, &quot;true&quot;);

  if (autTls)
  {
     props.put(&quot;mail.smtp.socketFactory.port&quot;, config.getString(&quot;PORTA&quot;).trim());
     props.put(&quot;mail.smtp.socketFactory.class&quot;, &quot;javax.net.ssl.SSLSocketFactory&quot;);
     props.put(&quot;mail.smtp.socketFactory.fallback&quot;, &quot;false&quot;);
     props.put(&quot;mail.smtp.starttls.enable&quot;, &quot;true&quot;);
     props.put(&quot;mail.smtp.ssl&quot;, &quot;true&quot;);
  }

  Session session;

  try
  {
     if (autenticacao)
     {
        Authenticator aut = new Authenticator()
           {
              public PasswordAuthentication getPasswordAuthentication()
              { 
                 return new PasswordAuthentication(USUARIO, config.getString(&quot;SENHA&quot;).trim());
              }
           };

        session = Session.getDefaultInstance(props, aut);
     }
     else
     {
        session = Session.getDefaultInstance(props);
     }

     session.setDebug(debug);

     MimeMessage msg = new MimeMessage(session);

     //email do REMETENTE.
     InternetAddress address = new InternetAddress(config.getString(&quot;EMAIL_REMETENTE&quot;).trim());
     msg.setFrom(address);

     //email do DESTINATARIO 
     InternetAddress[] addressTo = new InternetAddress[emailDestinatario.size()];
     for (int i = 0; i &lt; emailDestinatario.size(); i++)
        addressTo[i] = new InternetAddress(emailDestinatario.get(i));
     msg.setRecipients(Message.RecipientType.TO, addressTo);

     msg.setSubject(assunto, &quot;UTF-8&quot;);
     msg.setSentDate(new Date());
     
     List&lt;String&gt; listaImagens = new ArrayList&lt;String&gt;();
     
     //Monta o tipo do email de acordo com o tipo do conteúdo. Texto simples ou HTML (related)         
     Multipart mp = null;
     if (emailPadrao)
        mp = new MimeMultipart();
     else
     {
        mp = new MimeMultipart("related");
        //Se for HTML, busca as ocorrências da TAG <img> com os nomes da imagens.
        String link = null;
        String resultImg;
        String resultSrc;
        Pattern regex = Pattern.compile("&lt;img([^&gt;]|[\\r\\n])*&gt;&quot;); 
        Pattern regex2 = Pattern.compile(&quot;src=\&quot;([^\&quot;]|[\\r\\n])*\&quot;&quot;); 
        Matcher msgImg = regex.matcher(mensagem); 
        Matcher msgSrc;
        int numrImg = 1;
        //Busca todos os &lt;img....&gt;
        while (msgImg.find()) { 
            resultImg = msgImg.group(); 
            msgSrc = regex2.matcher(resultImg);
            //dentro de &lt;img...&gt; busca a parte do src=....
            if (msgSrc.find())
            {
               resultSrc = msgSrc.group();
               link = msgSrc.group().replaceFirst("src=\"", "").replaceFirst("\"", "");
               //Troca no nome da imagem do HTML pelo padrão cid:imagemX
               mensagem = mensagem.replaceFirst(link,"cid:imagem"+numrImg);
               //Adiciona o nome das imagens numa lista
               listaImagens.add(link);
               numrImg++;
            }  
        }
     }
     
     BodyPart bpText = new MimeBodyPart();
     bpText.setText(mensagem);
     bpText.setHeader("Content-Language", "pt-BR");
     
     //Monta o cabeçalho do email de acordo com o tipo de conteúdo
     if (emailPadrao)
        bpText.setHeader("Content-Type", "text/plain; charset=ISO-8859-1");
     else
        bpText.setHeader("Content-Type", "text/html; charset=ISO-8859-1");
        
     bpText.setHeader("Content-Transfer-Encoding", "8bit");
     mp.addBodyPart(bpText);
     
     //se for email HTML, adicionará as imagens
     if (!emailPadrao)
     {
        int numrImg = 1;
        BodyPart imagemHtml = null;
        DataSource imgFds  = null;
        for (String img : listaImagens) {
              //Busca as imagens a partir da pasta "imagens"
              String imagemAtual = DomnDiretorios.DIRETORIO_RAIZ + "\\imagens\\" + img;
              File arqImg = new File(imagemAtual);
              if (arqImg.exists())
              {
                 //se o arquivo for encontrado, vincular ele ao nome do padrão cid:imagemX
                 imagemHtml = new MimeBodyPart();
                 imgFds  = new FileDataSource(imagemAtual);
                 imagemHtml.setDataHandler( new DataHandler(imgFds) );
                 imagemHtml.setHeader("Content-ID", "&lt;imagem" + numrImg + "&gt;&quot;);
                 mp.addBodyPart(imagemHtml);                    
              }
              else
              //Se o arquivo não existe, gerar log informando, mas sem interromper o envio
              {
                 log.error(&quot;Arquivo de Imagem: &quot; + imagemAtual + &quot; não encontrado.&quot; );                     
              }

            numrImg++;                     
         }                 
     }       
            
     if (anexos != null && anexos.size() &gt; 0)
     {
        for (int j = 0; j &lt; anexos.size(); j++)
        {
           BodyPart bp = new MimeBodyPart();
           FileDataSource fds = new FileDataSource(anexos.get(j));
           bp.setDataHandler(new DataHandler(fds));
           bp.setFileName(anexos.get(j).getName());
           mp.addBodyPart(bp);
        }
     }

     msg.setContent(mp);
     msg.setHeader(&quot;Content-Language&quot;, &quot;pt-BR&quot;);
     msg.setHeader(&quot;Content-Transfer-Encoding&quot;, &quot;8bit&quot;);
     
     Transport transp = session.getTransport();
     transp.connect();
     transp.sendMessage(msg, msg.getAllRecipients());
     transp.close();

// Transport.send(msg);
}
catch (AddressException e)
{
new ValidacaoException("Erro: Endereço de e-mail inválido. Detalhes do erro: " + e.getMessage(), e);
}
catch (MessagingException e)
{
new AmbienteException("Erro: Falha ao enviar e-mail. Detalhes do erro: " + e.getMessage(), e);
}

}[/code]

Boa tarde Cloude.

          Obrigado pela ajuda.
          Acabei de chegar do almoço.
          Começarei a analisar seu código.
          Tomara que isso resolva.

          Te falo mais tarde.

          Valeu!