Files
Condominio_SeConectai/src/main/java/com/seconectai/condocontab/integracao/EmailClient.java
T
2026-09-29 12:12:31 -03:00

37 lines
1.7 KiB
Java

package com.seconectai.condocontab.integracao;
import jakarta.mail.Message;
import jakarta.mail.MessagingException;
import jakarta.mail.PasswordAuthentication;
import jakarta.mail.Session;
import jakarta.mail.Transport;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeMessage;
import java.util.Map;
import java.util.Properties;
public final class EmailClient {
public void enviar(Map<String, String> smtp, String destino, String assunto, String texto) throws MessagingException {
if (smtp == null || smtp.getOrDefault("smtp_host", "").isBlank()) return;
Properties props = new Properties();
props.put("mail.smtp.host", smtp.get("smtp_host"));
props.put("mail.smtp.port", smtp.getOrDefault("smtp_port", "587"));
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", smtp.getOrDefault("smtp_starttls", "true"));
String user = smtp.getOrDefault("smtp_user", "");
String pass = smtp.getOrDefault("smtp_password", "");
Session session = Session.getInstance(props, new jakarta.mail.Authenticator() {
@Override protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, pass);
}
});
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(smtp.getOrDefault("smtp_from", user)));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(destino));
message.setSubject(assunto == null ? "Aviso" : assunto, "UTF-8");
message.setText(texto == null ? "" : texto, "UTF-8");
Transport.send(message);
}
}