Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled
50 lines
1.5 KiB
Java
50 lines
1.5 KiB
Java
package de.oaa.xxx.mail;
|
|
|
|
import jakarta.mail.Message;
|
|
import jakarta.mail.MessagingException;
|
|
import jakarta.mail.internet.AddressException;
|
|
import jakarta.mail.internet.InternetAddress;
|
|
import jakarta.mail.internet.MimeMessage;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.mail.javamail.JavaMailSender;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@Service
|
|
public class MailService {
|
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(MailService.class);
|
|
|
|
private final JavaMailSender mailSender;
|
|
|
|
public MailService(JavaMailSender mailSender) {
|
|
this.mailSender = mailSender;
|
|
}
|
|
|
|
private static final InternetAddress FROM_ADDRESS;
|
|
static {
|
|
try {
|
|
FROM_ADDRESS = new InternetAddress("noreply@xxx-sphere.de");
|
|
} catch (AddressException e) {
|
|
throw new ExceptionInInitializerError(e);
|
|
}
|
|
}
|
|
|
|
public boolean send(Email email) {
|
|
try {
|
|
MimeMessage message = mailSender.createMimeMessage();
|
|
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email.getEmailAdresse()));
|
|
message.setSubject(email.getTitel());
|
|
message.setFrom(FROM_ADDRESS);
|
|
message.setContent(email.getText(), "text/html; charset=utf-8");
|
|
message.addHeader("X-Mailin-Tag", "no-tracking");
|
|
message.addHeader("X-Sib-Attributes", "{\"X-SIB-TRACKING\":\"0\"}");
|
|
mailSender.send(message);
|
|
return true;
|
|
} catch (MessagingException e) {
|
|
LOGGER.error(e.getLocalizedMessage(), e);
|
|
return false;
|
|
}
|
|
}
|
|
}
|