【发布时间】:2015-07-24 20:08:47
【问题描述】:
我正在尝试从 Mandrill 上的 API 检索入站消息,但是当我调用 sendRaw 方法时,API 失败并出现错误,提示我需要指定原始消息值。我猜 SendRaw 正在发送我指定的消息,而不是返回我请求的消息?
static async Task<string> SendRaw(string key)//,string )
{
string sendRaw = mandrillAPI + "inbound/send-raw.json";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(sendRaw);
HttpResponseMessage response = await client.GetAsync(key);
string s = await response.Content.ReadAsStringAsync();
return s;
}
原始消息是我要检索的内容,所以我不知道如何提供它。
有没有办法使用 API 从服务器检索消息?如果这是错误的说法......让我们这样说吧:我用 Mandrill 设置了一个域,并向该域上的一个虚构邮箱发送了一条消息。服务器转发了消息——我可以在 Mandrill 仪表板上查看消息的 SendRaw API 调用。我想从它所在的任何地方检索消息……它是否位于 Mandrill 的服务器上,或者它是否被发送到我需要监听发送的域,我不知道。我对此很陌生(大约在昨天)。不管怎样,我需要得到那个消息。是否可以使用 API 来实现?
还是 Mandrill 只是在消息最初发送时将消息中继到我的 url,我需要设置 url 来接收消息才能获取它?
【问题讨论】:
-
方法中的哪一行失败了?
-
API 方法...所以我打电话给mandrillAPI.com/api/1.0,方法是“inbound/send-raw.json”。我从 API 得到的响应是“验证错误:您必须指定原始消息值”。我认为这意味着 send-raw 是从字面上发送原始消息。但它是入站/发送原始消息,所以我认为它可能会发送入站消息......但它实际上可能正在发送我指定的原始消息。无论哪种方式,我都想以某种方式检索我发送的消息......
-
哪一行调用了你所指的“API方法”?是第 1 行(字符串声明)、第 4 行(HttpResponsemessage 声明)还是第 5 行(读取响应)?
-
client.GetAsync(key) 使用 URL 访问 API。虽然代码中没有错误。 API 请求通过并返回。消息的内容表明我需要将原始消息作为参数提供给 API 调用......但是,我想要做的是检索消息。我想我可能需要在我为入站消息设置的域上设置某种 HTTP 侦听器,以便获取电子邮件的内容……但我不知道。