nclazz-mail-relay/src/main/java/de/nclazz/service/mailrelay/adapter/mail/MailMessageForwarder.java

43 lines
1.4 KiB
Java

package de.nclazz.service.mailrelay.adapter.mail;
import de.nclazz.service.mailrelay.domain.MessageForwarder;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.mail.internet.MimeMessage;
import java.util.List;
@Service
@Slf4j
@RequiredArgsConstructor
public class MailMessageForwarder implements MessageForwarder {
private final JavaMailSender javaMailSender;
@Async
@SneakyThrows
@Override
public void forwardMessage(@NonNull String subject, @NonNull String content,
@NonNull String from, @NonNull List<String> receivers) {
log.info("Send Mail '{}' from {} to {}", subject, from, receivers);
MimeMessage mimeMessage = this.javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, false, "UTF-8");
mimeMessageHelper.setFrom(from);
mimeMessageHelper.setReplyTo(from);
mimeMessageHelper.setTo(receivers.toArray(new String[0]));
mimeMessageHelper.setSubject(subject);
mimeMessageHelper.setText(content);
this.javaMailSender.send(mimeMessage);
}
}