如何使用Exact Target中的现有电子邮件模板发送电子邮件?

时间:2012-02-21 14:40:01

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

我在ExactTarget中创建了一个简单的电子邮件模板,其中包含一个ID,例如: 19712732

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

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

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

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

谢谢,

4 个答案:

答案 0 :(得分:6)

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

从高层次来看,这就是你想要做的事情:

  1. 在ExactTarget用户界面中创建数据扩展程序 from the Triggered Send template。在此数据扩展中添加您将在模板中使用的任何其他字段(例如,CustomHTML1字段)
  2. 在UI中也设置触发的发送定义。选择您要发送的相应电子邮件,然后从步骤1中选择数据扩展程序注意:ExactTarget使用术语"电子邮件"与大多数人使用相同的方式"电子邮件模板"。电子邮件可以包含Personalization Strings(合并字段)
  3. 请务必启动“触发的发送定义”。
  4. 使用API​​,您现在可以send an email using your Triggered Send Definition
  5. 为了传递自定义数据(例如CustomHTML1),您需要在API调用中将该名称/值对添加为Subscriber属性:

    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路由,因为它在物理上将发送特定数据与订户本身分开。这样,可能仅与特定发送相关的信息不会永久地"存储在订阅者上。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

答案 3 :(得分:0)

我很确定你一定看过this。但是,由于它没有提出任何关于模板的建议,我还会尝试查看this(最后“创建基于模板的电子邮件”)和this并使用 reflector Fiddler(抱歉混淆了!我能说什么!)看看他们开的是什么网络服务电话。

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