【问题标题】:How to Send an Email Using an Existing Email Template in Exact Target?如何使用 Exact Target 中的现有电子邮件模板发送电子邮件?
【发布时间】:2012-03-11 20:59:17
【问题描述】:

我在 ExactTarget 中创建了一个简单的电子邮件模板,它有一个 ID,例如19712732.

我想使用此电子邮件模板通过 Exact Target:https://webservice.exacttarget.com/Service.asmx的 WebService API(C# 代码)发送电子邮件?

维基文档在这里:http://wiki.memberlandingpages.com/

这怎么可能?我浏览了文档,但找不到任何相关内容。

另外,我希望能够使用 API 设置电子邮件模板的一些内容。例如,也许我可以添加一个像 {CustomHtml1} 这样的键/属性,然后在我的 C# 代码中设置这个键/属性的值?

谢谢,

【问题讨论】:

    标签: c# asp.net email email-templates exacttarget


    【解决方案1】:

    Chris 是对的,您需要结合使用 数据扩展触发发送

    在高层次上,这就是你想要做的:

    1. 在 ExactTarget UI 中创建 数据扩展 from the Triggered Send template。在此数据扩展中添加您将在模板中使用的任何其他字段(例如,CustomHTML1 字段)
    2. 也在 UI 中设置触发发送定义。选择您要发送的适当电子邮件,然后从步骤 1 中选择 数据扩展注意:ExactTarget 使用“电子邮件”一词的方式与大多数人使用“电子邮件模板”的方式相同。电子邮件可以包含Personalization Strings(合并字段)
    3. 请务必启动触发式发送定义。
    4. 使用 API,您现在可以send an email using your Triggered Send Definition

    为了传递自定义数据(例如CustomHTML1),您需要将该名称/值对添加为 API 调用中的订阅者属性:

    ETServiceClient.ETClient.Attribute attr = new ETServiceClient.ETClient.Attribute();
    attr.Name = "CustomHTML1";
    attr.Value = "Your custom merge field value";
    subscriber.Attributes = new ETServiceClient.ETClient.Attribute[] { attr };
    

    上述代码应酌情添加到链接代码示例中,它仅用于提供特定于设置自定义属性的信息。

    据我所知,没有任何单一的参考资料能说明这个过程,但我发现它是最有效的。

    (另外值得注意的是,所有 API 文章最近都已移至 code.exacttarget.com,因此 wiki 在这种情况下的使用将受到一定限制)

    祝你好运!

    编辑:我还想澄清一下,上述任何需要通过 UI 进行配置的步骤也可以通过 API 完成。但是,由于它们是一次性配置元素,通常只需登录一次、进行设置,然后将 API 开发工作重点放在实际的电子邮件发送上。

    编辑:为了完整起见,应该注意,没有必要为此目的使用数据扩展。从技术上讲,可以在订阅者上设置一个用于相同目的的属性,如果在某些情况下数据扩展不起作用,这可能是更好的选择。

    在这种情况下,如果可能的话,我会推荐 DE 路由,因为它在物理上将发送特定的数据与订阅者本身分开。这样,可能仅与特定发送相关的信息不会“永久”存储在订阅者上。

    【讨论】:

    • 我相信这是正确的答案,但只是想指出您不一定必须使用数据扩展。我将其发布为最后的替代方案,因为我们想做类似的事情,但由于某种原因无法使数据扩展为我们工作。可能是因为当时的文档和支持非常有限,但可能存在一些技术障碍。这很难看,但我们为“CustomHtml1”等字段创建了自定义订阅者属性。然后你可以如上图设置,轻松拉入你的邮件模板。
    • @xr280xr:绝对正确——当然可以将触发发送直接发送到订阅者列表,将自定义 HTML 设置为属性,然后直接将其合并到电子邮件中。我发现,从技术上讲,该字段甚至不必指定为属性即可工作。我喜欢使用 DE,因为根据我的经验(使用 ExactTarget,每个人的情况肯定会有所不同;))并发症更少。
    【解决方案2】:

    我发现 Razor 引擎退出做这些事情很方便,请看http://kazimanzurrashid.com/posts/use-razor-for-email-template-outside-asp-dot-net-mvc

    【讨论】:

    • 我们已经将 ExactTarget 用于其他事情,所以我们至少现在必须坚持使用它......
    【解决方案3】:

    【讨论】:

    • 你不能访问wiki.memberlandingpages.com吗?到目前为止,我还没有发现任何有用的东西。
    • 谢谢,但数据扩展对象不同。它们就像存储在 ExactTarget 上的表格,其中包含一些可以传递给电子邮件模板的数据,而我需要将自己的内容传递给它。
    【解决方案4】:

    我很确定你一定看过this。但是,由于它没有建议任何有关模板的内容,我也会尝试查看 this(最后是“基于模板创建电子邮件”)和 this 并使用 reflector Fiddler(抱歉搞混了!我能说什么!)看看他们正在触发哪些网络服务调用。

    我的猜测是有一封电子邮件和模板并不真正相关。客户端(默认情况下,Web 客户端)有责任通过查看模板来创建电子邮件的正文(这反过来可能需要其他一些 Web 服务调用)

    【讨论】:

    • 据我了解,这就是 Exact Target 的愚蠢命名。他们在使用 API 代码时将“电子邮件模板”称为电子邮件! (实际上是电子邮件模板 + 绑定数据 ==> 电子邮件)
    • 同意,但该约定适用于在他们看来并不真正理解或无法理解模板概念的业务用户。 =|
    猜你喜欢
    • 2012-05-17
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2016-07-12
    • 2020-03-23
    • 2013-12-02
    • 2015-11-11
    相关资源
    最近更新 更多