
com.xlrit.gears.plugin.mail.MailPublisher Maven / Gradle / Ivy
package com.xlrit.gears.plugin.mail;
import jakarta.annotation.PostConstruct;
import com.xlrit.gears.base.event.ElementPublishedEvent;
import com.xlrit.gears.base.model.Mail;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class MailPublisher {
private static final Logger LOG = LoggerFactory.getLogger(MailPublisher.class);
private final MailHelper mailHelper;
private final MailProperties properties;
@PostConstruct
public void initialize() {
LOG.info("Mail configured using {}", properties);
}
@EventListener
public void onPublish(ElementPublishedEvent publishedEvent) {
if (!properties.isEnabled(MailProperties.Mode.DIRECT)) return;
Mail mail = publishedEvent.getElement();
LOG.info("onPublish: {}", mail);
mailHelper.send(mailHelper.createMessage(mail));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy