/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.mail; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; import com.enonic.cms.store.dao.UserDao; @Configuration public class MailServiceBeans { @Value("${cms.admin.newPasswordMailSubject}") private String defaultSubjectForNewPasswordEmail; @Value("${cms.admin.newPasswordMailBody}") private String defaultBodyForNewPasswordEmail; @Value("${cms.admin.email}") private String adminEmail; @Value("${cms.mail.smtp.host}") private String smtpHost; @Value("${cms.mail.smtp.user}") private String smtpUser; @Value("${cms.mail.smtp.password}") private String smtpPassword; @Value("${cms.mail.smtp.port}") private int smtpPort; @Autowired private UserDao userDao; @Autowired private JavaMailSender javaMailSender; @Bean public SendMailService sendMailService() { SendMailServiceImpl sendMailService = new SendMailServiceImpl(); sendMailService.setDefaultSubjectForNewPasswordEmail( defaultSubjectForNewPasswordEmail ); sendMailService.setDefaultBodyForNewPasswordEmail( defaultBodyForNewPasswordEmail ); sendMailService.setFromMail( adminEmail ); sendMailService.setUserDao( userDao ); sendMailService.setMailSender( javaMailSender ); return sendMailService; } @Bean public JavaMailSender javaMailSender() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost( smtpHost ); if ( StringUtils.isNotEmpty( smtpUser ) ) { javaMailSender.setUsername( smtpUser ); } if ( StringUtils.isNotEmpty( smtpPassword ) ) { javaMailSender.setPassword( smtpPassword ); } javaMailSender.setPort( smtpPort ); return javaMailSender; } }