Envio de emails com javamail

Criei um programa que faz envio de emails com javamail, funciona bem com servidores como yahoo e gmail. Estes servidores usam a porta 465 e conexão SSL. Quando tento enviar pelo nosso servidor de email, que não usa a 465 e sim a porta 25 e não suporta conexão SSl, ele dá o seguinte erro:


javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1611)
>> Erro: Envio Mensagem
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:288)
at javax.mail.Service.connect(Service.java:169)

O que seria este erro ? Como consertar ?
Agradeço a quem ajudar.
Abraços.

Ivan posta o código para da uma olhada porque eu passei pelo mesmo problema parece que você esta tentando se conectar em um servidor que não usa SSL.

Pois é, na verdade também acho q é isso mesmo q está acontecendo, só que eu não sei acertar o código para enviar sem SSL.

public void sendMail(String from, String to, String subject, String message) {

		Properties props = new Properties();

                                /* 
                                props.setProperty("proxySet","true");
                                props.setProperty("socksProxyHost","192.168.155.1"); // IP do Servidor Proxy
                                props.setProperty("socksProxyPort","1080");  // Porta do servidor Proxy
                                */

		props.put("mail.transport.protocol", "smtp"); //define protocolo de envio como SMTP
		props.put("mail.smtp.starttls.enable","true");
		props.put("mail.smtp.host", mailSMTPServer); //server SMTP do GMAIL
		props.put("mail.smtp.auth", "true"); //ativa autenticacao
		props.put("mail.smtp.user", from); //usuario ou seja, a conta que esta enviando o email (tem que ser do GMAIL)
		props.put("mail.debug", "true");
		props.put("mail.smtp.port", mailSMTPServerPort); //porta
		props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); //mesma porta para o socket
		props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.socketFactory.fallback", "false");

		//Cria um autenticador que sera usado a seguir
		SimpleAuth auth = new SimpleAuth();
                
		Session session = Session.getDefaultInstance(props, auth);
		session.setDebug(true); //Habilita o LOG das ações executadas durante o envio do email

		//Objeto que contém a mensagem
		Message mensagem = new MimeMessage(session);

		try {
			//Setando o destinatário
			mensagem.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
			//Setando a origem do email
			mensagem.setFrom(new InternetAddress(from));
			//Setando o assunto
			mensagem.setSubject(subject);
			//Setando o conteúdo do corpo do email
			mensagem.setContent(message,"text/plain");

		} catch (Exception e) {
			System.out.println(">> Erro: Completar Mensagem");
			e.printStackTrace();
		}

		//Objeto encarregado de enviar os dados para o email
                                Transport tr;

		try {
                         		tr = session.getTransport("smtp"); //define smtp para transporte
	                 	tr.connect(mailSMTPServer, usuario, senha);
                                                mensagem.saveChanges(); 
                                                //envio da mensagem
                                                tr.sendMessage(mensagem, mensagem.getAllRecipients());
                                                tr.close();

		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println(">> Erro: Envio Mensagem");
			e.printStackTrace();
		}

        }

}

Desde já agradeço.

Ivan, eu estava com o mesmo problema (necessitava da porta 25). Coloquei como comentário a linha

“// props.put(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”)”

e funcionou blz