Java tutorial
/* * Copyright (C) 2005 - 2014 TIBCO Software Inc. All rights reserved. * http://www.jaspersoft.com. * * Unless you have purchased a commercial license agreement from Jaspersoft, * the following license terms apply: * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.jaspersoft.jasperserver.war.mail.impl; import com.jaspersoft.jasperserver.api.JSExceptionWrapper; import com.jaspersoft.jasperserver.api.common.util.CharacterEncodingProvider; import com.jaspersoft.jasperserver.api.metadata.user.domain.User; import com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoUser; import com.jaspersoft.jasperserver.api.metadata.user.service.UserAuthorityService; import com.jaspersoft.jasperserver.war.mail.MailService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Restrictions; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * @author Fedir Sajbert */ public class MailServiceImpl implements MailService { private static final Log log = LogFactory.getLog(MailServiceImpl.class); private JavaMailSender javaMailSender; private String mailFromAddress; private UserAuthorityService userAuthorityService; private CharacterEncodingProvider encodingProvider; public void sendEmailNotification(String subject, String body, String mailTo) { try { MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, encodingProvider.getCharacterEncoding()); messageHelper.setFrom(mailFromAddress); messageHelper.setSubject(subject); StringBuffer messageText = new StringBuffer(); messageText.append(body); messageHelper.setTo(mailTo); messageHelper.setText(messageText.toString()); javaMailSender.send(message); } catch (MessagingException e) { log.error("Error while sending mail", e); throw new JSExceptionWrapper(e); } } public CharacterEncodingProvider getEncodingProvider() { return encodingProvider; } public void setEncodingProvider(CharacterEncodingProvider encodingProvider) { this.encodingProvider = encodingProvider; } public JavaMailSender getJavaMailSender() { return javaMailSender; } public void setJavaMailSender(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; } public String getMailFromAddress() { return mailFromAddress; } public void setMailFromAddress(String mailFromAddress) { this.mailFromAddress = mailFromAddress; } public UserAuthorityService getUserAuthorityService() { return userAuthorityService; } public void setUserAuthorityService(UserAuthorityService userAuthorityService) { this.userAuthorityService = userAuthorityService; } }