package net.pechorina.kontempl.config; import java.util.Properties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; @Configuration public class MailConfig { private static Logger logger = LoggerFactory.getLogger(MailConfig.class); @Autowired private Environment env; @Bean(name = "mailSender") public JavaMailSender mailSender() { logger.debug("Creating instance of mail sender"); JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost(env.getProperty("smtpHost")); sender.setPort(env.getProperty("smtpPort", Integer.class)); sender.setDefaultEncoding("UTF-8"); if (env.getProperty("smtpAuth", Boolean.class)) { sender.setUsername(env.getProperty("smtpAuthUsername")); sender.setPassword(env.getProperty("smtpAuthPassword")); } Properties props = new Properties(); props.setProperty("mail.smtp.starttls.enable", env.getProperty("smtpStartTlsEnable")); props.setProperty("mail.transport.protocol", env.getProperty("mailTransportProtocol")); props.setProperty("mail.smtp.auth", env.getProperty("smtpAuth")); props.setProperty("mail.debug", env.getProperty("mailDebug")); props.setProperty("mail.smtp.localhost", env.getProperty("smtpLocalhost")); sender.setJavaMailProperties(props); return sender; } }