All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xlrit.gears.plugin.mail.MailPublisher Maven / Gradle / Ivy

There is a newer version: 1.18.10
Show newest version
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