远程服务器返回错误:(404)Not Found。在GetResponse()中

时间:2014-01-01 21:12:41

标签: c# mandrill

我正在尝试从Mandrill调用HTML页面。下面的HTML未显示在控制台中。 //我正在调用的HTML模板

<!DOCTYPE html>    
<tr>
    <td>This is a test email from Mandrill</td>
</tr>
</table>
</body>
</html>

//控制台应用

static void Main(string[] args)
{
    var request = 
      WebRequest.Create("https://mandrillapp.com/templates/preview?id=test-email") as   HttpWebRequest;
      request.Method = "POST";
      request.ContentType = "text/plain";
      byte[] byteData = Encoding.ASCII.GetBytes("");
      request.ContentLength = byteData.Length;

      using (Stream postStream = request.GetRequestStream())
      {
         postStream.Write(byteData, 0, byteData.Length);
      }

      using (HttpWebResponse resp = request.GetResponse() as HttpWebResponse)
      {
        using (var reader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))
        {
           string value = reader.ReadToEnd();
           Console.WriteLine(value);
        }
     }
}

2 个答案:

答案 0 :(得分:0)

这是因为网页不存在。如果试图在浏览器中打开它(除非它响应GET而不是POST),你会得到相同的结果 - 我只是自己尝试确认,它在你提供的地址给出了一个http 404错误。

答案 1 :(得分:0)

您尝试访问的网址http://smtp.mandrillapp.com/test-email - 是API端点。根据此处的文档 - http://help.mandrill.com/entries/24486133-Does-Mandrill-have-a-test-mode-or-sandbox-,您需要generate a new Test API Key来测试电子邮件,然后在尝试发布到该端点之前,在C#代码中验证您的访问权限。