gpt4 book ai didi

smtp - 使用 SMTP 适配器在 BizTalk 中发送带有多个 pdf 附件的 HTML 电子邮件

转载 作者:行者123 更新时间:2023-12-04 23:10:21 25 4
gpt4 key购买 nike

在 BT2006R2 中,我有一个编排,它接收带有电子邮件属性的 XML,例如:to、cc、subject、htmlbody 的文件位置、带有 pdf 文件的 1..n 文件位置

我希望编排使用 SMTP 适配器发送 1 封电子邮件,其中包含 HTML emailbody 和 1..n pdf 文件作为附件。

如何才能做到这一点 ?

最佳答案

你真的在这里问三个单独的问题。

  • 如何在 BizTalk 中发送 HTML 电子邮件。
  • 如何在 BizTalk 中向电子邮件添加附件。
  • 如何将文件动态读入 BizTalk 进程。

  • 我在下面逐一解决 - 问题 2 的最简单解决方案实际上避免了必须处理问题 3。

    希望这能让你走上解决这个问题的正确轨道。可悲的是,它是如此广泛,以至于我无法给出一个“这就是你如何做的答案”,但如果你遇到障碍,请回来并发布更多问题。

    如何在 BizTalk 中发送 HTML 电子邮件

    我知道有两种方法可以实现这一点。

    一种是使用 RawString 类并将其直接分配给您的电子邮件正文。在这个 blog post by Tomas Restropo 中得到了很好的证明.

    第二种方法是使用XSLT Transform Pipeline组件详解 here on MSDN .这是通过允许您指定 XSLT 模板来实现的,这些模板将您的纯测试消息正文转换为 HTML 正文。

    我过去使用过这两种方法。每个人都有自己的长处和短处。模板方法的一个很好的特性是它在运行时的可配置性稍高一些(但如果你设计得好的话,只会稍微有点)。

    如何在 BizTalk 中向电子邮件添加附件

    同样,在 BizTalk 中有两种主要方法可以实现这一点。

    第一种方法是使用 SMTP.Attachments上下文属性。在编排中的消息分配表达式形状中,您有如下代码:
    MessageOut(SMTP.Attachments) = 
    "C:\\Attachments\MyFile.pdf|C:\\Attachments\AnotherFile.pdf";

    您只需添加一个文件列表,其中文件路径以管道分隔。

    这可能非常符合您的要求 - 这是将附件动态添加到电子邮件的最简单方法,并且无需将文件实际加载到 BizTalk。

    此外,上面的表达式形状只是代码,因此您可以根据需要使上面的内容变得动态。

    另一种方法是从 BizTalk 发送多部分消息。根据上下文设置,您可以将所有消息部分作为附件发送,或将第一部分用作消息正文。

    创建多部分消息有点复杂,所以我不会深入研究——通常你需要一个帮助类来向你的消息添加部分。

    上下文属性(在消息分配形状中设置)是:
    MessageOut(SMTP.MessagePartsAttachments) = n

    // Where n can be one of three values
    0 (same as not set) - Do not attach any biztalk message parts. This is a default setting.
    1 - Attach only biztalk body part
    2 - Attach all parts

    如何将文件动态读入 BizTalk 进程

    这又是相当复杂的,所以我不会详细介绍。还有其他 SO 问题可以解决这个问题。

    本质上,如果您使用多部分消息,则需要以某种方式将每个消息部分放入 BizTalk。

    您有几个选择:
  • 您将收到的每个文件的静态列表都将转到接收位置 - 对您来说不太好,因为听起来 PDF 文件可以更改
  • 主编排读取您的控制文件,然后“编排”子编排的行为
  • 基于代码的解决方案 - 一个 C# 类,它接受您的文件列表并将它们作为消息返回给 BizTalk(甚至将它们作为消息部分添加到另一条消息中)
  • 某种自定义适配器解决方案 - 可能对您需要的东西来说太过分了。
  • 关于smtp - 使用 SMTP 适配器在 BizTalk 中发送带有多个 pdf 附件的 HTML 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2187750/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com