项目中需要实现一个抽取Partner发送给我们的email中的所有附件,保存在本地文件目录中的需求。在网上Google下后,发现下面的这篇文章刚好可以符合我们的需求。
http://www.biztalkgurus.
可是,当我们拿它的例子做测试,发现了一个问题。当email带附件时,运行正常。但是,当email不带附件时,居然也有文件被保存。在biztalk admin console上截获不带附件的email message,分析发现email的正文被解析为2个message part。
无法解释这种现象。最后用一个首先判断email是否带附件的方法替代。关键代码如下,
v_strPOP3Header=In(POP3.Headers);
v_bContainAttachment=v_strPOP3Header.Contains("Content-Type: multipart/mixed");
如果v_bContainAttachment为true,表示带附件,iterate每个msg part,构造out message;否则,直接ternimate orchestration。