- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Mandrill Inbound Webhooks 来调用我的 WCF API 中的方法。请求通过,我可以成功解析它等等。
我的问题在于获取 X-Mandrill-Signature
header 的值以匹配我正在生成的签名(基于此处详述的过程:https://mandrill.zendesk.com/hc/en-us/articles/205583257-Authenticating-webhook-requests)。
这是我目前正在做的:
List<string> keys = HttpContext.Current.Request.Params.AllKeys.ToList();
keys.Sort();
string url = "MyMandrillWebhookURL";
string MandrillKey = "MyMandrillWebhookKey"
foreach (var key in keys)
{
url += key;
url += HttpContext.Current.Request.Params[key];
}
byte[] byteKey = System.Text.Encoding.ASCII.GetBytes(MandrillKey);
byte[] byteValue = System.Text.Encoding.ASCII.GetBytes(url);
HMACSHA1 myhmacsha1 = new HMACSHA1(byteKey);
byte[] hashValue = myhmacsha1.ComputeHash(byteValue);
string generatedSignature = Convert.ToBase64String(hashValue);
并且 generatedSignature
与 X-Mandrill-Signature
的值不匹配
我知道 Mandrill 文档表明编码需要以二进制而不是十六进制完成(我认为我的代码是这样做的,但如果我错了请纠正我),但是,除此之外我不能我的问题是正面还是反面。非常感谢任何帮助。
最佳答案
问题在于您如何在验证中检索 key 。您只需要按键按字母顺序使用请求的 POST 变量,而不是所有请求参数。只有一个POST变量mandrill_events需要在签名生成中使用。
string url = "MyMandrillWebhookURL";
string MandrillKey = "MyMandrillWebhookKey"
url += "mandrill_events";
url += mandrillEvents;
byte[] byteKey = System.Text.Encoding.ASCII.GetBytes(MandrillKey);
byte[] byteValue = System.Text.Encoding.ASCII.GetBytes(url);
...
关于c# - 在 .NET 中验证 Mandrill 入站 Webhook 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32915684/
我在 Mandrill 文档、KB 和 Google 上搜索了始终可用的合并标签列表,但似乎找不到 API 选项的简单列表。 我在 MailChimp 中创建了一个模板,然后将其发送到 Mandril
我正在使用 Mandrill 试用帐户发送电子邮件,我有一个无法找到解决方案的问题。 我有一个域 (www.domain.com),它使用 Mandrill 帐户注册,电子邮件地址为 email1@d
我正在尝试使用 mc:edit 在 div 中添加动态 html 表字符串,但它不会呈现为 html,它只在电子邮件中显示该字符串。 模板中的div标签: 我的 html 字符串:
我正在使用 Mandrill 根据模板向联系人列表发送电子邮件。我想跟踪联系人是否回复了我的电子邮件,为此,我想检查 Message-Id我发送的电子邮件出现在 In-Reply-To 中新消息的头字
我正在开发一个 Node.js 应用程序,但我正在努力验证 Mandrill Webhook 请求。 如此处所述http://help.mandrill.com/entries/23704122-Au
我有邮件服务,用户可以在其中上传包含电子邮件和一些其他用户相关数据的 .xls 文件以发送电子邮件事件。 我遇到了一些超时问题,因为它需要几秒钟的时间来处理(因为我对每封要发送的电子邮件进行一些验证和
我正在使用 Mandrill 服务,现在我想使用该服务来重放实例电子邮件,您知道该实例阻塞了 25 端口,因此将使用 2525 端口进行重放,Google Cloud Compute 支持 Mandr
我使用 Mandrill 发送电子邮件,并使用 Handlebars 呈现电子邮件中的内容。 如果我像这样添加变量一切正常: 后端: message.AddRecipientVariable("tes
我使用免费帐户 mandrillapp。现在我已经超过了限制(每小时超过 25 封邮件)。 我可以查看现在积压在 mandrillapp 中的所有电子邮件吗? 最佳答案 Mandrill 无法直接查看
我在 Nodejs 中使用 Mandrill 向客户发送电子邮件,并希望在我附加到电子邮件的 html 内容中嵌入图像。我从 https://mandrill.zendesk.com/hc/en-us
在 NodeJs 应用程序中,我使用 Mandrill 向注册不同类型事件的人发送电子邮件提醒。应用程序每五分钟检查一次准备好的提醒并发送这些提醒。每次检查的数量或提醒可以从零到很多不等。 但问题来了
在发送之前,我需要向 Mandrill 模板中的所有链接添加一些参数。 例如,在模板中有类似 click here" 的 anchor 。 . 我需要的是添加一个字符串(每个 anchor 的参数集)
我正在将客户端的网站从使用服务器sendmail转移到使用Mandrill。创建测试API key 非常适合在网站的开发版本上测试代码/过程,但是有没有办法我可以测试附件在此测试模式下是否正常工作?
这里有一些概念问题: 使用 mandrill 发送电子邮件 - 好的。配置山魈用于接收电子邮件。文档指出传入的消息将发布到 URL。这意味着这样的页面应该存在并解析消息。 理想情况下,传入的消息应以我
我正在使用 *|UNSUB|*合并 mandrill 模板中的标记,我希望在使用此模板发送邮件时自动解析它(无需在代码中执行任何操作)。我的模板代码是, Unsubscribe from this l
我使用以下 to 属性进行发送请求 API 调用: "to": [ { "email": "recipient.email@example.com", "typ
我有一个名为“Basic”的模板,它有两个版本,彼此不同 - 草稿和已发布的版本。有没有一种方法 - 通过 Mandrill API - 发送草稿版本,而不是已发布的版本 - 或者只是一般地选择发送两
我正在尝试附加一个 base64 格式的图像,例如 data:image/jpeg;base64,/9j.... 我在 php 中有以下附件代码: $attachment_encoded5 = $re
根据 https://mandrillapp.com/api/docs/messages.php.html通过 Mandrill API 发送电子邮件时有一个 auto_text 参数。这是如何运作的
使用 send-template 方法和 Lutung Mandrill Java API实现,当模板变量包含形式 \n 的换行符时,它们在生成的电子邮件中被完全忽略或剥离。 String s 包含
我是一名优秀的程序员,十分优秀!