Erro ao enviar e-mail - Resolvido

3 respostas
J

Boa Tarde, gostaria de saber se alguém já passou por esse erro ao tentar enviar o e-mail:
DEBUG SMTP: trying to connect to host "smtp.live.com", port 587, isSSL false

javax.mail.MessagingException: Could not connect to SMTP host: smtp.live.com, port: 587;
nested exception is:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

*** tentei com a porta 25, apresentou o mesmo erro acima.

public class Email {

	public static void enviarMail(String destinatario, String assunto,
			String corpo) throws IOException {

		String mailUsuario = "[email removido]";
		String mailSenha = "xxxxxx";
		String mailPortaSMTP = "587";
		String mailHost = "smtp.live.com";

		Properties props = new Properties();
		props.put("mail.smtp.user", mailUsuario);
		props.put("mail.transport.protocol", "smtp");
		props.put("mail.smtp.host", mailHost);
		props.put("mail.smtp.port", mailPortaSMTP);
		props.put("mail.smtp.socketFactory.port", mailPortaSMTP);
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.starttls.enable", "true");
		props.put("mail.smtps.starttls.enable", "true");
		props.put("mail.smtp.debug", "true");
		props.put("mail.smtp.socketFactory.class",
				"javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.socketFactory.fallback", "false");

		SimpleAuth auth = new SimpleAuth(mailUsuario, mailSenha);
		Session session = Session.getDefaultInstance(props, auth);
		session.setDebug(true);

		MimeMessage message = new MimeMessage(session);

		try {

			Address from = new InternetAddress("[email removido]");
			Address to = new InternetAddress("[email removido]");

			// configurando o remetente e o destinatario
			message.setFrom(from);
			message.addRecipient(RecipientType.TO, to);
			// configurando a data de envio, o assunto e o texto da mensagem
			message.setSentDate(new Date());
			message.setSubject("Assunto da mensagem");
			message.setText("Texto da mensagem!");
			// enviando
			Transport.send(message);

		} catch (Exception e) {
			System.out.print(e.getMessage());
		}

	}
}

class SimpleAuth extends Authenticator {

	public String username = null;
	public String password = null;

	public SimpleAuth(String user, String pwd) {
		username = user;
		password = pwd;
	}

	protected PasswordAuthentication getPasswordAuthentication() {
		return new PasswordAuthentication(username, password);
	}
}

3 Respostas

J

ninguém?

L

To passando pelo mesmo problema :frowning:
segundo um site:

“O Hotmail foi feito para comunicar-se apenas com o Outlook e Outlook Express (pois pertencem a mesma empresa). Crie uma conta de e-mail em outro servidor.”
Li aqui: http://superlogica.com/faq/00259

Mas ainda não desisti :?
Antes se autenticava igual se autentica o gmail, agora não sei se ainda da pra autenticar dessa forma…

J

Obrigado pela ajuda consegui resolver seguindo sua ajuda.

Estou trabalhando com o Gmail agora.

vou colocar abaixo o método utilizado para enviar e-mail:

public static void enviarMail(String destinatario, String assunto,
			String corpo) throws IOException {

		String mailUsuario = "[email removido]";
		String mailSenha = "xxxx";
		String mailPortaSMTP = "587";
		String mailHost = "smtp.gmail.com";
		
		Properties props = new Properties();
		props.put("mail.transport.protocol", "smtp");
		props.put("mail.smtp.host", mailHost);
		props.put("mail.smtp.port", mailPortaSMTP);
		props.put("mail.smtp.socketFactory.port", mailPortaSMTP);
		props.put("mail.smtp.starttls.enable", true);
		props.put("mail.smtp.ssl.trust", mailHost);
		props.put("mail.smtp.auth", true);
		props.put("mail.debug", true);

		
		SimpleAuth auth = new SimpleAuth(mailUsuario, mailSenha);
		Session session = Session.getDefaultInstance(props, auth);
		session.setDebug(true);

		MimeMessage message = new MimeMessage(session);

		try {

			Address from = new InternetAddress("[email removido]");
			Address to = new InternetAddress("[email removido]");

			message.setFrom(from);
			message.addRecipient(RecipientType.TO, to);
			message.setSentDate(new Date());
			message.setSubject("Assunto da mensagem");
			message.setText("Texto da mensagem!");
			Transport.send(message);

		} catch (Exception e) {
			System.out.print(e.getMessage());
		}

	}
}
Criado 20 de abril de 2013
Ultima resposta 27 de abr. de 2013
Respostas 3
Participantes 2