Microsoft.BizTalk.Component.MIMEException

Posted

技术标签:

【中文标题】Microsoft.BizTalk.Component.MIMEException【英文标题】: 【发布时间】:2014-05-23 18:57:45 【问题描述】:

我在 Biztalk 中的 POP3 适配器有问题。在我的接收位置设置它后,一些邮件会抛出您可以在标题中看到的 MIMEException。

电子邮件仅包含一些附件。

【问题讨论】:

我们可以得到其余的异常消息吗?这可能会让我们更详细地了解问题所在。 适配器“POP3”在接收位置“ReceivePop”上接收到的消息被挂起,URI 为“POP3://###########”。错误详细信息:引发了“”类型的异常。消息 ID:CC524C02-8064-4BAB-97A2-B02F51EDEB2A 实例 ID:DA33C96B-83D8-4DC8-9C4D-5BF534DFB20A 【参考方案1】:

获取电子邮件文本,这应该包含附件、电子邮件正文和一些属性。验证这封电子邮件,有很多 MIME 验证网站可用。

它将为您提供失败的 MIME 消息的行号结果。通常有些行太长,有时超过998 个字符。

示例长行是来自安装在邮件服务器上的反垃圾邮件软件的诊断。

您可以添加自定义管道解码器组件来格式化这些长行并添加 SMIME/MIME 解码器组件。确保复制 pop3 上下文属性以备不时之需。

这里有一些关于如何破解 MIME 消息的代码 sn-p

public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)

            System.IO.Stream st = pInMsg.BodyPart.GetOriginalDataStream();
            System.IO.StreamReader reader = new System.IO.StreamReader(st);
            var strBuilder = new StringBuilder();
            string str = string.Empty;
            while (reader.Peek() >= 0)
            
                str  = reader.ReadLine();
                if (str.Length >= 998)                            
                   str = str.Replace(str.ToString(), System.Text.RegularExpressions.Regex.Replace(str.ToString(), "(." + 998 + ")", "$1" + Environment.NewLine));

                strBuilder.AppendLine(str);
                         

            System.IO.MemoryStream m = new System.IO.MemoryStream();
            System.IO.StreamWriter writer = new System.IO.StreamWriter(m);
            writer.AutoFlush = true;
            writer.Write(strBuilder.ToString());
            m.Position = 0;
            pInMsg.BodyPart.Data = m;                
            reader.Close();
            return pInMsg;                    

【讨论】:

【参考方案2】:

这是一篇博客文章,说明了相同的问题及其解决方案。希望解决方案对您有用。 "Failed to decode the S/MIME message. The S/MIME message may not be valid." when using POP adapter to process incoming emails

【讨论】:

您正在使用哪个 BizTalk 版本?你试过这个热修复吗:support.microsoft.com/kb/982634/en-us 不要复制粘贴解决方案链接。随着时间的推移,链接可能会出错。 我正在使用 2013 版本,是的,我安装了它,但同样的异常

以上是关于Microsoft.BizTalk.Component.MIMEException的主要内容,如果未能解决你的问题,请参考以下文章