JavaMail no Linux, e não no Windows [RESOLVIDO]

2 respostas
antonioni.rocha

Tenho esta classe que envia emails. Ela funciona ok no Ubuntu, mas não envia no Windows, sem dar erro algum. Será que está faltando algum parâmetro de configuração?

package mail;

import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailSender {

  public synchronized static void sendMail() {
    //Properties props = System.getProperties(); *** mesmo caso. ***
    Properties props = new Properties();

    props.put("mail.smtp.host", "gmail-smtp.l.google.com");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.auth", "true");

    try {
      Session session = Session.getDefaultInstance(props, new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
          return new PasswordAuthentication("[email removido]", "*******");
        }
      });
      
      MimeMessage message = new MimeMessage(session);
      message.setText("E-mail enviado com teste.");
      message.setSubject("Teste de envio de e-mail");
      message.setFrom(new InternetAddress("[email removido]"));
      message.addRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));
      Transport.send(message);
    } catch (MessagingException mex) {
      mex.printStackTrace();
    }
  }
}

2 Respostas

T

http://www.guj.com.br/posts/list/35431.java indica os parãmetros a usar quando testei com Windows.

antonioni.rocha

Obrigado, Thingol. Faltaram:

props.put("mail.mime.charset", "ISO-8859-1"); props.put("mail.smtp.port", "465"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

Criado 3 de março de 2008
Ultima resposta 3 de mar. de 2008
Respostas 2
Participantes 2