37 lines
1.7 KiB
Java
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);
|
|
}
|
|
}
|