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();
}
}
}