javamail如何通过cid下载图片到本地

2025-11-05 15:33:49

1、这个cid跟这封邮件的内嵌资源一一对应,这个cid主要用来替换你下载到本地的资源文件比如gif表情,然后将src中的路径换成本地路径才能正常显示

javamail如何通过cid下载图片到本地

2、这个没有附件容易理解,其实可以这样理解,他也是附件,就是你要先下载到本地

javamail如何通过cid下载图片到本地

3、替换完之后才能正常的展示到用户面前,多了个下载的过程,而附件可以直接展示,点击某个附件再调用下载的过程.

javamail如何通过cid下载图片到本地

4、解析cid并存储到本地数据库

解析宙排相信大家都会,邮件解析也就递归进行吧,获取part中的content-id就行,注意content-id的大小写,代码如下

javamail如何通过cid下载图片到本地

5、获取cid方法

[java] view plain copy

public static String getCid(Part p) throws MessagingException {  

      String content, cid;  

      String[] headers = p.getHeader("Content-Id");  

      if (headers !=  && headers.length > 0) {  

          content = headers[0];  

      } else {  

          return ;  

      }  

      if (content.startsWith("<") && content.endsWith(">")) {  

       睡孝   cid = "cid:" + content.substring(1, content.length() - 1);  

      } else {  

          cid = "cid:" + content;  

      }  

      return cid;  沫欠陵

  }  

javamail如何通过cid下载图片到本地

6、看下log输出,因为我用FoxMail发送的表情测试的,可以看到cid后面有foxmail的标识,可能是cid的生成规则吧

javamail如何通过cid下载图片到本地

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢