邮件回复审批工作流:通过正则表达式提取关键审批信息

前端之家收集整理的这篇文章主要介绍了邮件回复审批工作流:通过正则表达式提取关键审批信息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 提醒邮件demo

wKioL1drT8mAOt7GAABDTbeDM8A638.png

2.同意和拒绝使用mailTo标签

  1. <ahref="mailto:chao.gao@feixun.com.cn?cc=xu02.xu@feixun.com.cn
  2. &amp;subject=OA审批
  3. &amp;body=审批意见:同意&lt;br&gt;审批任务ID:1234567890"target="_blank"style="font-size:14px;
  4. padding:2px6px;
  5. display:block;
  6. color:#ffffff;">
  7. 同意</a>

mailTo标签相比邮件审批的参考系统U8和费控有较大进步:1.不需要用户再输入额外信息;2.回复不再使用邮箱自带回复功能,可以减少对解析回复邮件的干扰;

3.回复邮件格式

审批意见:同意
审批任务ID:1234567890

备注:同意休假

4.解析过程:

  1. publicStringBuffergetMailContent(Partpart)throwsException{
  2. StringBufferbodyText=newStringBuffer();
  3. StringcontentType=part.getContentType();
  4. //获得邮件的MimeType类型
  5. //System.out.println("邮件的MimeType类型:"+contentType);
  6. intnameIndex=contentType.indexOf("name");
  7. booleanconName=false;
  8. if(nameIndex!=-1){
  9. conName=true;
  10. }
  11. //System.out.println("邮件内容的类型: "+contentType);
  12. if(part.isMimeType("text/plain")&&conName==false){
  13. //text/plain类型
  14. //bodyText.append((String)part.getContent());
  15. StringtextContent=(String)part.getContent();
  16. /*Stringreg1=".*审批意见:([^\\r\\n]*)\\r\\n?.*";
  17. Stringreg2=".*审批任务ID:([^\\r\\n|]*)\\r\\n?.*";*/
  18.  
  19. Stringreg1="[\\s\\S]*审批意见\\s*(:|:)\\s*([^\\r]*)\\|?[\\s\\S]*";
  20. //"[\\s\\S]*审批意见\\s*(:|:)\\s*([\\d\\-]*)\\|?[\\s\\S]*";
  21. Stringreg2="[\\s\\S]*审批任务ID\\s*(:|:)\\s*([\\d\\-]*)\\|?[\\s\\S]*";
  22. Stringapprove=textContent.replaceAll(reg1,"$2");
  23. StringtaskId=textContent.replaceAll(reg2,"$2");
  24. bodyText.append(approve+","+taskId);
  25. }elseif(part.isMimeType("text/html")&&conName==false){
  26. //text/html类型
  27. //bodyText.append((String)part.getContent());
  28. }elseif(part.isMimeType("multipart/*")){
  29. //multipart/*
  30. Multipartmultipart=(Multipart)part.getContent();
  31. intcounts=multipart.getCount();
  32. for(inti=0;i<counts;i++){
  33. getMailContent(multipart.getBodyPart(i));
  34. }
  35. }elseif(part.isMimeType("message/rfc822")){
  36. //message/rfc822
  37. getMailContent((Part)part.getContent());
  38. }else{
  39. }
  40. returnbodyText;
  41. }

猜你在找的正则表达式相关文章