package com.artfess.mail.api; import com.artfess.mail.model.Mail; import microsoft.exchange.webservices.data.property.complex.AttachmentCollection; import javax.mail.Part; /** *
* 描述:邮件附件处理接口 * 构建组:x5-base-core * 作者:gjh * 邮箱:guojh@jee-soft.cn * 日期:2014-10-30-下午3:28:34 * 版权:广州宏天软件有限公司版权所有 **/ public interface AttacheHandler { /** * 邮件附件处理接口方法 * @param part * @param mail 邮件对象 *
示例:
** public void handle(Part part, Mail mail){ * //获得文件名 String filename=MimeUtility.decodeText(part.getFileName()); String basePath = System.getProperty("user.dir")+File.separator; String filePath = basePath + filename; System.out.println(filePath); File file = new File(basePath); if (!file.exists()) file.mkdirs(); //将附件流保存到本地 InputStream is = part.getInputStream() ; FileOutputStream fos = new FileOutputStream(filePath); byte[] bs = new byte[512]; int n = 0; while ((n = is.read(bs)) != -1) { fos.write(bs, 0, n); } is.close(); fos.close(); //将附件的文件名及存放路径存入Mail对象 mail.getMailAttachments().add(new MailAttachment(filename, filePath)); * } ** @see Mail */ void handle(Part part, Mail mail); /** * 保存exchange的附件 * @param attachments * @param mail */ void handle(AttachmentCollection attachments, Mail mail); /** * 根据传入的邮件唯一标识ID,判断是否对此邮件进行下载。 * @param messageId 同一个邮箱中的邮件唯一标识ID * @return true:下载;false:不下载 *
示例:
** public Boolean isDownlad(String UID) { * Mail mail = getFromDB("admin@jee-soft.cn", UID); * if(mail!=null) return false ; * return true; * } **/ Boolean isDownlad(String messageId); }