如何使用C#添加Mandrill元数据

时间:2015-04-10 23:18:21

标签: c# .net mandrill webhooks

我们目前使用Mandrill发送电子邮件,这样就可以了。

现在我们希望将Mandrill webhooks捕获回我们的服务器,并使用事件信息注释相应的电子邮件源记录。为了做到这一点,我们认为我们必须将原始邮件的ID传递给webhook,以便我们可以在webhook到达时从我们的服务器中提取该邮件。

我们认为正确的方法是在邮件中添加Mandrill元数据字段,但我们在执行此操作时遇到了麻烦。

我们尝试了以下(有变化):

Message.Headers.Add("X-MC-METADATA", "\"OriginId\": \"" + Id + "\"");

但是,永远不会在webhook中返回OriginId,我们也不会在电子邮件的来源中看到此标题。似乎我们没有正确的格式,并且Mandrill正在剥离此标题。

1 个答案:

答案 0 :(得分:0)

元数据类型接受数组,因此请尝试使用{}

包装元数据
Message.Headers.Add("X-MC-METADATA", "{\"OriginId\": \"" + Id + "\"}");

检查API日志并查看原始邮件的外观,它应该包含以下内容:

X-MC-Metadata: {  \"testkey\": \"testvalue\"}

我正在做的是将所有元数据存储在字典中,使用JSON转换器创建字符串,然后剥离所有/ n / r字符。结束结果字符串被设置为标题值。