Как узнать статус электронной почты (mailject)

Я использую Mailjet SMTP для отправки электронной почты. Теперь я хочу проверить, было ли отправлено письмо или нет. У Mailjet такой статус электронной почты, но как мне получить доступ к этой информации? У Mailjet тоже есть этот API, но это в php...

Если я использую DeliveryNotificationOptions можно решить это? Что-то вроде этого:

mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure | DeliveryNotificationOptions.Delay;

1 ответ

Решение

Я могу общаться с API Mailjet как:

Uri address = new Uri("http://api.mailjet.com/0.1/reportEmailsent");
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = true;
request.Headers.Add("apiKey", "numberapiKey");
request.Headers.Add("secretKey", "numbersecretKey");
request.Credentials = new NetworkCredential("apiKey", "serialKey");
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.Accept = "application/x-www-form-urlencoded; charset=UTF-8";

Теперь получаю ответ:

// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
   Stream ResponseStream = null;
   ResponseStream = response.GetResponseStream();
   int responseCode = (int)response.StatusCode;
   string responseBody = ((new StreamReader(ResponseStream)).ReadToEnd());
}
Другие вопросы по тегам