Ejemplo n.º 1
0
        private MandrillMessageStatus Send(MandrillSenderData senderData)
        {
            MandrillMessageStatus ms = new MandrillMessageStatus();

            try
            {
                string         jsonString  = JsonConvert.SerializeObject(senderData);
                HttpWebRequest httpRequest = CreateRequest(_sendEndPoint);
                ms.messageResult = GetResponse <List <MandrillMessageResult> >(httpRequest, jsonString);

                ms.MessageSent = true;
                return(ms);
            }
            catch (WebException ex)
            {
                var wex = ex.Response;
                using (var streamReader = new StreamReader(wex.GetResponseStream()))
                {
                    string result = streamReader.ReadToEnd();
                    ms.messageError = JsonConvert.DeserializeObject <MandrillMessageError>(result);
                    streamReader.Close();
                }

                ms.MessageSent  = false;
                ms.MessageError = ex.Message;
                return(ms);
            }
            catch (Exception ex)
            {
                ms.MessageSent  = false;
                ms.MessageError = ex.Message;
                return(ms);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Send a email message using Madrill Api.
 /// </summary>
 /// <param name="message">A Mandrill message type.</param>
 public MandrillMessageStatus Send(MandrillEmailMessage message)
 {
     if (!TestConnectionWithServer())
     {
         throw new Exception("Without connection with Mandrill Server.");
     }
     try
     {
         MandrillSenderData senderData = new MandrillSenderData();
         senderData.key     = _key;
         senderData.message = message;
         senderData.async   = false;
         senderData.ip_pool = "Main Pool";
         senderData.send_at = DateTime.Now;
         return(Send(senderData));
     }
     catch (Exception ex)
     {
         MandrillMessageStatus messageStatus = new MandrillMessageStatus();
         messageStatus.MessageSent  = false;
         messageStatus.MessageError = ex.Message;
         return(messageStatus);
     }
 }