簡體   English   中英

mailgun電子郵件驗證響應

[英]mailgun email validation response

我是Mailgun和REST的新手,需要一些幫助。

如果我使用Mailgun提供的代碼:

RestClient client = new RestClient();
client.BaseUrl = "https://api.mailgun.net/v2";
client.Authenticator = new HttpBasicAuthenticator("api", "xxxx");
RestRequest request = new RestRequest();
request.Resource = "/address/validate";
request.AddParameter("address", "me@mydomain.com");
return client.Execute(request);

如何檢索和處理該地址是否有效的響應?

首先,您永遠不要發布私人信息,例如您的此類API的公鑰

只需使用出色的Postman Chrome應用程序,您就可以看到這樣的請求的結果:

單擊此處以完整分辨率查看下面的圖像

在此處輸入圖片說明

而且我敢肯定,如果您不是return client.Execute(request); 你做

var result = client.Execute(request);
return result;

而在加入了斷點return ,你可以檢查什么是從呼叫......未經測試傳遞的對象,我敢肯定,你可以轉換result.Content (因為它是在那里RestSharp追加響應內容)為對象,使用該對象(或使用dynamic類型)。


現在,在VS中測試您的代碼:

單擊此處以完整分辨率查看下面的圖像

在此處輸入圖片說明

然后可以使用dynamic對象,例如:

單擊此處以完整分辨率查看下面的圖像

在此處輸入圖片說明

public void GetResponse()
{
    var client = new RestClient();
    client.BaseUrl = "https://api.mailgun.net/v2";
    client.Authenticator = new HttpBasicAuthenticator("api", "pubkey-e82c8201c292691ad889ace3434df6cb");

    var request = new RestRequest();
    request.Resource = "/address/validate";
    request.AddParameter("address", "me@mydomain.com");

    var response = client.Execute(request);
    dynamic content = Json.Decode(response.Content);

    bool isValid = content.is_valid;
    string domain = content.parts.domain;
}

並將響應的內容像傳遞的json一樣對待:

{
    "address": "me@mydomain.com",
    "did_you_mean": null,
    "is_valid": true,
    "parts": {
        "display_name": null,
        "domain": "mydomain.com",
        "local_part": "me"
    }
}

該代碼對我有用。 我沒有使用RESTClient而是編寫了自己的代碼(效果很好)

[System.Web.Services.WebMethod]
    public static object GetEmailInfo(string UserName)
    {
        var http = (HttpWebRequest)WebRequest.Create("https://api.mailgun.net/v2/address/validate?address=" + UserName);
        http.Credentials = new NetworkCredential("api","public key");
        http.Timeout = 5000;
        try
        {
            var response = http.GetResponse();
            var stream = response.GetResponseStream();
            var sr = new StreamReader(stream);
            var content = sr.ReadToEnd();
            JSON.JsonObject js = new JSON.JsonObject(content);
            return Convert.ToBoolean(js["is_valid"]);
        }
        catch (Exception ex)
        {

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM