private bool doCall(string from, string to, string body, HttpBasicAuthenticationHelper auth) { var request = new WebClient.RequestParams(this) { Method = HTTPRequestMethod.POST, ContentType = ContentType.FORM_URL_ENCODED, BodyParameters = new Dictionary <string, string> { { "From", from }, { "To", to }, { "Body", body } } }; auth.AddAuthHeader(ref request); var response = WebClient.GetJson(new Uri(URI_MESSAGES.Args(AccountSid)), request); if (response[ERROR_MESSAGE].AsString().IsNotNullOrEmpty()) { return(false); } return(true); }
//private void doSendWithoutAttachments(Message msg, MessageAddresses addresses) //{ // var request = new WebClient.RequestParams(this) // { // Method = HTTPRequestMethod.POST, // BodyParameters = new Dictionary<string, string>() // }; // var auth = new HttpBasicAuthenticationHelper(API_USER_NAME, AuthorizationKey); // auth.AddAuthHeader(ref request); // addParameter(request.BodyParameters, MAIL_PARAM_FROM, addresses.From); // addParameter(request.BodyParameters, MAIL_PARAM_TO, addresses.To); // if (addresses.CC.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_CC, addresses.CC); // if (addresses.BCC.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_BCC, addresses.BCC); // if (addresses.ReplyTo.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_REPLY_TO, addresses.ReplyTo); // if (msg.Subject.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_SUBJECT, msg.Subject); // if (msg.Body.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_TEXT, msg.Body); // if (msg.RichBody.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_HTML, msg.RichBody); // if (TestMode) // request.BodyParameters.Add(API_PARAM_TESTMODE, "yes"); // WebClient.GetString(ServiceUrl, request); //} private void doSendMultipart(Message msg, MessageAddresses addresses) { Multipart.Part part; var parts = new List <Multipart.Part>(); part = new Multipart.Part(MAIL_PARAM_FROM) { ContentType = ContentType.TEXT, Content = addresses.From }; parts.Add(part); part = new Multipart.Part(MAIL_PARAM_TO) { ContentType = ContentType.TEXT, Content = addresses.To }; parts.Add(part); if (addresses.CC.IsNotNullOrWhiteSpace()) { part = new Multipart.Part(MAIL_PARAM_CC) { ContentType = ContentType.TEXT, Content = addresses.CC }; parts.Add(part); } if (addresses.BCC.IsNotNullOrWhiteSpace()) { part = new Multipart.Part(MAIL_PARAM_BCC) { ContentType = ContentType.TEXT, Content = addresses.BCC }; parts.Add(part); } if (addresses.ReplyTo.IsNotNullOrWhiteSpace()) { part = new Multipart.Part(MAIL_PARAM_REPLY_TO) { ContentType = ContentType.TEXT, Content = addresses.ReplyTo }; parts.Add(part); } part = new Multipart.Part(MAIL_PARAM_SUBJECT) { ContentType = ContentType.TEXT, Content = msg.Subject }; parts.Add(part); part = new Multipart.Part(MAIL_PARAM_TEXT) { ContentType = ContentType.TEXT, Content = msg.Body }; parts.Add(part); part = new Multipart.Part(MAIL_PARAM_HTML) { ContentType = ContentType.HTML, Content = msg.RichBody }; parts.Add(part); if (TestMode) { part = new Multipart.Part(API_PARAM_TESTMODE) { ContentType = ContentType.TEXT, Content = "yes" }; parts.Add(part); } if (msg.Attachments != null) { foreach (var attachment in msg.Attachments.Where(a => a.Content != null)) { part = new Multipart.Part(MAIL_PARAM_ATTACHMENT) { ContentType = attachment.ContentType, Content = attachment.Content, FileName = attachment.Name }; parts.Add(part); } } var mp = new Multipart(parts); var enc = mp.Encode(); var req = WebRequest.CreateHttp(ServiceUrl); req.Method = "POST"; req.ContentType = ContentType.FORM_MULTIPART_ENCODED_BOUNDARY.Args(enc.Boundary); req.ContentLength = enc.Length; var auth = new HttpBasicAuthenticationHelper(API_USER_NAME, AuthorizationKey); auth.AddAuthHeader(req); using (var reqs = req.GetRequestStream()) { reqs.Write(enc.Buffer, 0, (int)enc.Length); using (var resp = req.GetResponse()) { } } }