diff --git a/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/MailException.java b/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/MailException.java new file mode 100644 index 0000000..09224fd --- /dev/null +++ b/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/MailException.java @@ -0,0 +1,66 @@ +/** + * MailException.java + * Created at 2016-03-01 + * Created by wangkang + * Copyright (C) 2016 egridcloud.com, All rights reserved. + */ +package com.egridcloud.udf.mail; + +/** + *
+ * ClassName: MailException + *
+ *+ * Description: 文件异常 + *
+ *+ * Author: wangkang + *
+ *+ * Date: 2016年3月23日 + *
+ */ +public class MailException extends RuntimeException { + + /** + *+ * Field serialVersionUID: 序列号 + *
+ */ + private static final long serialVersionUID = 1L; + + /** + *+ * Description: 构造函数 + *
+ * + * @param message 异常信息 + */ + public MailException(String message) { + super(message); + } + + /** + *+ * Description: 构造函数 + *
+ * + * @param cause 堆栈 + */ + public MailException(Throwable cause) { + super(cause); + } + + /** + *+ * Description: 构造函数 + *
+ * + * @param message 异常信息 + * @param cause 堆栈 + */ + public MailException(String message, Throwable cause) { + super(message, cause); + } + +} diff --git a/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/service/MailService.java b/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/service/MailService.java index 049adc3..38935df 100644 --- a/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/service/MailService.java +++ b/udf-starter-mail/src/main/java/com/egridcloud/udf/mail/service/MailService.java @@ -26,8 +26,10 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.egridcloud.udf.core.RestResponse; +import com.egridcloud.udf.mail.MailException; import com.egridcloud.udf.mail.MailProperties; import com.egridcloud.udf.mail.domain.AttachmentInfo; +import com.egridcloud.udf.mail.domain.InlineInfo; import com.egridcloud.udf.mail.domain.MailInfo; import com.egridcloud.udf.mail.vo.file.FileInfo; import com.egridcloud.udf.rms.Rms; @@ -66,7 +68,7 @@ public class MailService { * @throws MessagingException 异常 */ @Async - public void send(MailInfo mailInfo) throws MessagingException { + public void send(MailInfo mailInfo) throws MessagingException { //NOSONAR //创建消息 MimeMessage message = mailSender.createMimeMessage(); //判断是否有附件 @@ -95,6 +97,30 @@ public class MailService { if (StringUtils.isNotBlank(mailInfo.getReplyTo())) { helper.setReplyTo(mailInfo.getReplyTo()); } + //处理静态资源 + if (CollectionUtils.isNotEmpty(mailInfo.getInlines())) { + for (InlineInfo inlineInfo : mailInfo.getInlines()) { + //判空 + if (StringUtils.isBlank(inlineInfo.getFileId()) + || StringUtils.isBlank(inlineInfo.getName())) { + throw new MailException("inlineInfo fileid and name are not be null"); + } + //获得必要参数 + String fileId = inlineInfo.getFileId(); + String name = inlineInfo.getName(); + //构造参数 + Map