【问题标题】:How To Add Mandrill Metadata Using C#如何使用 C# 添加 Mandrill 元数据
【发布时间】:2015-06-16 19:15:38
【问题描述】:

我们目前使用 Mandrill 发送我们的电子邮件,这工作正常。

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

我们认为正确的方法是在消息中添加 Mandrill 元数据字段,但我们在这样做时遇到了麻烦。

我们尝试了以下方法(有变体):

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

但是 OriginId 从未在 webhook 中返回,并且我们在电子邮件的源中看不到此标头。似乎我们没有完全正确的格式,并且 Mandrill 正在删除此标头。

【问题讨论】:

    标签: c# .net mandrill webhooks


    【解决方案1】:

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

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

    检查 API 日志并查看原始消息的样子,它应该包含以下内容:

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

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

    【讨论】:

    • 原来是某种语法错误。我已经启动并运行了一段时间。谢谢。
    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 2013-04-13
    • 2012-10-13
    • 2020-11-07
    • 1970-01-01
    • 2017-03-10
    • 2015-11-15
    • 1970-01-01
    相关资源
    最近更新 更多