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

org.molgenis.util.mail.MailSenderImpl Maven / Gradle / Ivy

package org.molgenis.util.mail;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.stereotype.Component;

import static java.util.Objects.requireNonNull;

@Component
public class MailSenderImpl implements MailSender
{
	private static final Logger LOG = LoggerFactory.getLogger(MailSenderImpl.class);

	private final MailSettings mailSettings;
	private final MailSenderFactory mailSenderFactory;

	public MailSenderImpl(MailSettings mailSettings, MailSenderFactory mailSenderFactory) 
	{
		this.mailSettings = requireNonNull(mailSettings);
		this.mailSenderFactory = requireNonNull(mailSenderFactory);
	}

	@Override
	public void send(SimpleMailMessage simpleMessage)
	{
		LOG.trace("Sending message...");
		createMailSender().send(simpleMessage);
		LOG.debug("Sent message.");
	}

	@Override
	public void send(SimpleMailMessage... simpleMessages)
	{
		LOG.trace("Sending messages...");
		createMailSender().send(simpleMessages);
		LOG.debug("Sent messages.");
	}

	private MailSender createMailSender()
	{
		return mailSenderFactory.createMailSender(mailSettings);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy