- import org.apache.commons.lang3.ArrayUtils;
- import org.springframework.core.task.TaskExecutor;
- import org.springframework.mail.javamail.JavaMailSender;
- import org.springframework.mail.javamail.MimeMessageHelper;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import javax.mail.MessagingException;
- import javax.mail.internet.MimeMessage;
- /**
- * <p>
- * <code>MailServiceImpl</code>
- * </p>
- * Description:
- * 邮件系统实现类
- * @author jianzh5
- * @version 2017/3/31 17:10
- * @since 1.0
- */
- @Service
- public classMailServiceImplimplements IMailService{
- privateLoggerUtil logger = LoggerUtil.getLogger(this.getClass());
- @Resource
- private TaskExecutor taskExecutor;
- @Resource
- private JavaMailSender javaMailSender;
- @Override
- public void sendMail(MailEntry mailEntry) {
- MimeMessage message = javaMailSender.createMimeMessage();
- try {
- MimeMessageHelper helper =newMimeMessageHelper(message,true, "utf-8");
- helper.setFrom("");
- helper.setTo(mailEntry.getRecipients()); //收件人
- if(ArrayUtils.isNotEmpty(mailEntry.getCarbonCopy())){
- helper.setCc(mailEntry.getCarbonCopy()); //抄送人
- }
- helper.setSubject(mailEntry.getSubject());
- helper.setText(mailEntry.getText(),true);//设置为TRUE则可以使用html标记
- addSendMailTask(message);
- } catch (MessagingException e) {
- // e.printStackTrace();logger.error("邮件转换异常,邮件详细信息为{}",e.getMessage());
- }
- }
- /**
- * @desc 使用多线程发送邮件
- * @author jianzh5
- * @date 2017/4/1 11:41
- * @param message MimeMessage邮件封装类
- */
- private voidaddSendMailTask(final MimeMessage message){
- try{
- taskExecutor.execute(new Runnable() {
- @Override
- public void run() {
- javaMailSender.send(message);
- }
- });
- }catch (Exception e){
- logger.error("邮件发送异常,邮件详细信息为{}",e.getMessage());
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2005481.html