这是我到目前为止所做的代码
var e = System.Web.HttpContext.Current.Request.Form["mandrill_events"];
if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.Form["mandrill_events"]))
{
string json = System.Web.HttpContext.Current.Request.Form["mandrill_events"].Replace("mandrill_events=", string.Empty);
var events = JsonConvert.DeserializeObject<List<OppmannCommon.MailEvent>>(json);
//var events = JsonConvert.DeserializeObject<IEnumerable<OppmannCommon.MailEvent>>(json);
if (!string.IsNullOrEmpty(json))
{
foreach (var mailEvent in events)
{
//var message = mailEvent.Msg;
var objCommonWebCommunicator = new CommonWebCommunicator();
objCommonWebCommunicator.HandleMandrillWebhook(mailEvent);
//... Do stuff with email message here...
}
}
}
// MUST do this or Mandrill will not accept your webhook!
return new HttpStatusCodeResult((int)HttpStatusCode.OK);
当我测试webhook时,这给了我HTTP Error 411. The request must be chunked or have a content length.
。
如果我注释掉所有代码只返回状态代码,那么测试工作正常。
答案 0 :(得分:0)
这可能是一个愚蠢的问题,但您上面的上一条评论(&#34; ..但是当事件类型是硬弹跳或软弹跳时我无法获取标题但是对于入站电子邮件它工作正常。 &#34; )让我相信你忽略了最后(也是最简单的!)步骤:你是否为负面事件的电子邮件添加了Webhook?我附上了截图我正在运作的webhook。
为积极/消极事件设置不同的webhook是一个很好的计划,因为它允许您以最小的努力操作事件(只需路由到您的不同方法)。
这对你有帮助吗?