Ejemplo n.º 1
0
 public List <MailJetSegment> GetSegments(string apiKey, string apiSecret)
 {
     try
     {
         MailjetClient  client  = new MailjetClient(apiKey, apiSecret);
         MailjetRequest request = new MailjetRequest
         {
             Resource = Contactfilter.Resource,
         }
         .Filter(Contact.ContactsList, "$ContactsListID");
         MailjetResponse response = Task.Run(() => client.GetAsync(request)).Result;
         if (response.IsSuccessStatusCode)
         {
             List <MailJetSegment> segmentsList = JsonConvert.DeserializeObject <List <MailJetSegment> >(response.GetData().ToString());
             return(segmentsList);
         }
         else
         {
             telemetria.Critical(string.Format("StatusCode: {0}\n", response.StatusCode) + " " + string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()) + " " + string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
         }
     }
     catch (Exception ex)
     {
         var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
         telemetria.Critical(messageException);
     }
     return(null);
 }
Ejemplo n.º 2
0
        public async Task SendEmail(string emailId, string firstName, string eventName, string action)
        {
            //MailjetClient client = new MailjetClient(Environment.GetEnvironmentVariable("MJ_APIKEY_PUBLIC"), Environment.GetEnvironmentVariable("MJ_APIKEY_PRIVATE"));
            // created object with required keys and add all other parameters
            MailjetClient  client  = new MailjetClient("2946db6b27a9f2d02583fd29e972553d", "3baa0be00212cb6193dd2c281122896e");
            MailjetRequest request = new MailjetRequest {
                Resource = Send.Resource,
            }
            .Property(Send.FromEmail, "*****@*****.**")
            .Property(Send.FromName, "TCSS 559 Group 9")
            .Property(Send.Subject, "Easy Events - Event Registration")
            .Property(Send.TextPart, "Registration Successfull")
            .Property(Send.HtmlPart, "<h3>Dear " + firstName + ", <br /> You have successfully " + action + " for event " + eventName + ".<br /> Thanks,<br />Easy Events Team")//body of email
            .Property(Send.Recipients, new JArray {
                new JObject {
                    { "Email", emailId }
                }
            });                                                                        //add receiver email
            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(string.Format("Total: {0}, Count: {1}\n", response.GetTotal(), response.GetCount()));
                Console.WriteLine(response.GetData());
            }
            else
            {
                Console.WriteLine(string.Format("StatusCode: {0}\n", response.StatusCode));
                Console.WriteLine(string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()));
                Console.WriteLine(string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
            }
        }
Ejemplo n.º 3
0
        public MailJetProfile GetMyProfile(MailjetClient client)
        {
            try
            {
                MailjetRequest request = new MailjetRequest
                {
                    Resource = Myprofile.Resource,
                };

                MailjetResponse response = Task.Run(() => client.GetAsync(request)).Result;

                if (response.IsSuccessStatusCode)
                {
                    List <MailJetProfile> listSender = JsonConvert.DeserializeObject <List <MailJetProfile> >(response.GetData().ToString());
                    return(listSender.FirstOrDefault());
                }
                else
                {
                    telemetria.Critical(string.Format("StatusCode: {0}\n", response.StatusCode) + " " + string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()) + " " + string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
                }
            }
            catch (Exception ex)
            {
                var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }

            return(null);
        }
 private async Task SendNewPassword(string mail, string password)
 {
     MailjetClient client = new MailjetClient("36b25d6cba30469cf1cc8911bf79d22a", "882892776ad1f8768b813bcc8e8358b0")
     {
         Version = ApiVersion.V3_1,
     };
     MailjetRequest request = new MailjetRequest {
         Resource = Send.Resource,
     }
     .Property(Send.Messages, new JArray {
         new JObject {
             { "From",
               new JObject {
                   { "Email", "*****@*****.**" },
                   { "Name", "MrPiatto Configuration Manager" }
               } }, { "To",
                      new JArray {
                          new JObject {
                              { "Email",
                            $"{mail}" }, {
                                  "Name",
                                  "Ailem"
                              }
                          }
                      } }, { "Subject", "Tu nueva contraseña de MrPiatto." }, { "TextPart", "Sending Password" }, { "HTMLPart",
                                                                                                                    $"<h3>Nos alegra que seas parte de MrPiatto.</h3><br/><br/>" +
                                                                                                                    $"Aquí esta tu nueva contraseña:{password}<br/>" +
                                                                                                                    $"Favor de no responder a este correo." }, { "CustomID", "AppGettingStartedTest" }
         }
     });
     MailjetResponse response = await client.PostAsync(request);
 }
Ejemplo n.º 5
0
        public async Task SendEmailAsync(string userEmail, string emailSubject, string message)
        {
            MailjetClient client = new MailjetClient("34c1193f9b7cb62a83538984912b536b", "9defca4f456902995eb5f0f8df13c6a6")
            {
                Version = ApiVersion.V3_1,
            };
            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.Messages, new JArray {
                new JObject {
                    {
                        "From",
                        new JObject {
                            { "Email", "*****@*****.**" },
                            { "Name", "Adel Lajil" }
                        }
                    }, {
                        "To",
                        new JArray {
                            new JObject {
                                {
                                    "Email",
                                    userEmail
                                }, {
                                    "Name",
                                    "Adel"
                                }
                            }
                        }
                    }, {
                        "Subject",
                        emailSubject
                    }, {
                        "TextPart",
                        emailSubject
                    }, {
                        "HTMLPart",
                        message
                    }, {
                        "CustomID",
                        "AppGettingStartedTest"
                    }
                }
            });
            MailjetResponse response = await client.PostAsync(request);


            /*  var apiKey = _configuration["SendGridApiKey"];
             * var client = new SendGridClient(apiKey);
             * var from = new EmailAddress("*****@*****.**", "Management Web Application");
             * var subject = emailSubject;
             * var to = new EmailAddress(userEmail, "Test Email");
             * var plainTextContent = message;
             * var htmlContent = message;
             * var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
             * var response = await client.SendEmailAsync(msg);
             * return new SendEmailResponse();*/
        }
Ejemplo n.º 6
0
        private async Task <long> CreateTemplate()
        {
            // arrange
            var templateName = "C# integration test template " + DateTime.UtcNow;

            MailjetRequest request = new MailjetRequest
            {
                Resource = Template.Resource,
            }
            .Property(Template.Author, "Mailjet team")
            .Property(Template.Copyright, "Mailjet")
            .Property(Template.Description, "Used to send templated emails in C# SDK integration test")
            .Property(Template.EditMode, Template.EditModeValue_MJMLBuilder)
            .Property(Template.IsTextPartGenerationEnabled, true)
            .Property(Template.Locale, "en_US")
            .Property(Template.Name, templateName)
            .Property(Template.OwnerType, Template.OwnerTypeValue_Apikey)
            .Property(Template.Purposes, JArray.FromObject(new[] { "transactional" }));

            // act
            MailjetResponse response = await _client.PostAsync(request);

            // assert
            Assert.IsTrue(response.IsSuccessStatusCode);

            Assert.AreEqual(1, response.GetTotal());
            Assert.AreEqual(templateName, response.GetData().Single().Value <string>("Name"));

            long templateId = response.GetData().Single().Value <long>("ID");

            return(templateId);
        }
Ejemplo n.º 7
0
        ///
        /// This calls sends a message to one recipient with a CustomID
        ///
        //public ActionResult Index()
        //{
        //    return View();
        //}

        //public ActionResult SendEmail()
        //{
        //    //ExecuteTest().Wait();
        //    Execute(123);

        //    return View("MemberResponse");
        //}
        static async Task RunAsync()
        {
            string Blackjack_Public_Key  = WebConfigurationManager.AppSettings["apiPublicMJKey"];
            string Blackjack_Private_Key = WebConfigurationManager.AppSettings["apiPrivateMJKey"];

            MailjetClient  client  = new MailjetClient(Blackjack_Public_Key, Blackjack_Private_Key); //(Environment.GetEnvironmentVariable(Blackjack_Public_Key), Environment.GetEnvironmentVariable(Blackjack_Private_Key));
            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource
            }
            .Property(Send.FromEmail, "*****@*****.**")
            .Property(Send.FromName, "Jonas Paskus")
            .Property(Send.Subject, "Your company's event outing!")
            .Property(Send.TextPart, "Dear passenger, welcome to Mailjet! May the delivery force be with you!")
            .Property(Send.HtmlPart, "<h3>Dear passenger, welcome to Mailjet!</h3><br />May the delivery force be with you!")
            .Property(Send.To, new JArray {
                new JObject {
                    { "Email", "*****@*****.**" }
                }
            });
            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(string.Format("Total: {0}, Count: {1}\n", response.GetTotal(), response.GetCount()));
                Console.WriteLine(response.GetData());
            }
            else
            {
                Console.WriteLine(string.Format("StatusCode: {0}\n", response.StatusCode));
                Console.WriteLine(string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()));
                Console.WriteLine(string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
            }
        }
Ejemplo n.º 8
0
        private async Task FillTemplateContent(long templateId)
        {
            // arrange
            var content = File.ReadAllText(Path.Combine("Resources", "MJMLTemplate.mjml"));

            MailjetRequest request = new MailjetRequest
            {
                Resource   = TemplateDetailcontent.Resource,
                ResourceId = ResourceId.Numeric(templateId)
            }
            .Property(TemplateDetailcontent.MJMLContent, content)
            .Property(TemplateDetailcontent.Headers, JObject.FromObject(new Dictionary <string, string>()
            {
                { "Subject", "Test transactional template subject " + DateTime.UtcNow },
                { "SenderName", "Test transactional template" },
                { "SenderEmail", _senderEmail },
                { "From", _senderEmail },
            }));

            // act
            MailjetResponse response = await _client.PostAsync(request);

            // assert
            Assert.IsTrue(response.IsSuccessStatusCode);
            Assert.AreEqual(1, response.GetTotal());
            Assert.AreEqual(content, response.GetData().Single().Value <string>("MJMLContent"));
        }
Ejemplo n.º 9
0
 static async Task RunAsync()
 {
     FacturaReporte facturaReporte = new FacturaReporte();
     string         fac            = facturaReporte.factura();
     //MailjetClient client = new MailjetClient(Environment.GetEnvironmentVariable("MJ_APIKEY_PUBLIC"), Environment.GetEnvironmentVariable("MJ_APIKEY_PRIVATE"));
     MailjetClient cli = new MailjetClient("e61028175953457b9abf53f13f5cbb8d", "0d77e47c3b62e5ea63165692ddc32e1c")
     {
         Version = ApiVersion.V3_1,
     };
     MailjetRequest request = new MailjetRequest
     {
         Resource = Send.Resource,
     }
     .Property(Send.Messages, new JArray {
         new JObject {
             { "From", new JObject {
                   { "Email", "*****@*****.**" },
                   { "Name", "Favio LopezUCB" }
               } },
             { "To", new JArray {
                   new JObject {
                       { "Email", "*****@*****.**" },
                       { "Name", "Favio Lopez" }
                   }
               } },
             { "Subject", "Mira este emaill" },
             { "TextPart", "Aqui tiens tu factura querido amigo" },
             { "HTMLPart", fac },
         }
     });
     MailjetResponse response = await cli.PostAsync(request);
 }
Ejemplo n.º 10
0
        private bool SendCampaign(MailjetClient client, long idCampaign)
        {
            try
            {
                MailjetRequest request = new MailjetRequest
                {
                    Resource   = CampaigndraftSend.Resource,
                    ResourceId = ResourceId.Numeric(idCampaign)
                };


                MailjetResponse response = Task.Run(() => client.PostAsync(request)).Result;
                if (response.IsSuccessStatusCode)
                {
                    return(true);
                }
                else
                {
                    telemetria.Critical(string.Format("StatusCode: {0}\n", response.StatusCode) + " " + string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()) + " " + string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
                }
            }
            catch (Exception ex)
            {
                var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }

            return(false);
        }
Ejemplo n.º 11
0
        public static async Task SendMail(String subject, String message)
        {
            String recipient = Environment.GetEnvironmentVariable("ErrorEmailRecipient");

            MailjetClient client = new MailjetClient(Environment.GetEnvironmentVariable("MailJetApiKey"), Environment.GetEnvironmentVariable("MailJetApiSecret"))
            {
                Version = ApiVersion.V3_1,
            };
            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }.Property(Send.Messages, new JArray {
                new JObject {
                    { "From", new JObject {
                          { "Email", Environment.GetEnvironmentVariable("ErrorMailSenderAddress") },
                          { "Name", "DrySafe" }
                      } },
                    { "To", new JArray {
                          new JObject {
                              { "Email", recipient }
                          }
                      } },
                    { "Subject", subject },
                    { "TextPart", message }
                }
            });
            MailjetResponse response = await client.PostAsync(request);
        }
        public void TestSmsStatisticsAsync()
        {
            var expectedData = new JArray();
            var mockHttp     = new MockHttpMessageHandler();
            var jsonResponse = GenerateJsonResponse(1, 1, expectedData);

            // Setup a respond for the user api (including a wildcard in the URL)
            mockHttp.When("https://api.mailjet.com/v4/*")
            .Respond(JsonMediaType, jsonResponse);         // Respond with JSON

            IMailjetClient client = new MailjetClient(API_TOKEN, mockHttp)
            {
                Version = ApiVersion.V4
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource = sms.SMS.Resource
            }
            .Filter(sms.SMS.FromTS, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString())
            .Filter(sms.SMS.ToTS, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString());

            MailjetResponse response = client.GetAsync(request).Result;

            Assert.IsTrue(response.IsSuccessStatusCode);
            Assert.IsTrue(JToken.DeepEquals(expectedData, response.GetData()));
        }
Ejemplo n.º 13
0
        static public async System.Threading.Tasks.Task EnviarEmailAsync(string email, string nombre, DateTime horario, string peluquero)
        {
            var imagenHTML = @"<img src='http://friseur.azurewebsites.net/img/logo.png' style ='width:300px;height:300px;' > ";

            MailjetClient  client  = new MailjetClient("7ae7ed62b20c4df07110d474410769ae", "889c023b436e6922b67fd16ffa8fb1cc");
            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.FromEmail, "*****@*****.**")
            .Property(Send.FromName, "Friseur Barber Shop")
            .Property(Send.Subject, "Gracias por sacar un turno con nostros!")
            .Property(Send.TextPart, "Hola " + nombre + "! Este es tu turno para cortate el pelo: " + horario.ToString())
            .Property(Send.HtmlPart, imagenHTML +
                      "<h3>Hola " + nombre + "!</h3><br />Este es tu turno para cortate el pelo: " + horario.ToString() + "<br /> Peluquero: " + peluquero)
            .Property(Send.To, nombre + " <" + email + ">");
            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(string.Format("Total: {0}, Count: {1}\n", response.GetTotal(), response.GetCount()));
                Console.WriteLine(response.GetData());
            }
            else
            {
                Console.WriteLine(string.Format("StatusCode: {0}\n", response.StatusCode));
                Console.WriteLine(string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()));
                Console.WriteLine(string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
            }
        }
        public async Task <bool> SendEmailAsync(string email, string subject, string message, string html = null)
        {
            MailjetRequest request = new MailjetRequest {
                Resource = Send.Resource
            }
            .Property(Send.FromEmail, "*****@*****.**")
            .Property(Send.FromName, "CryptoWorkPlace Info")
            .Property(Send.Subject, subject)
            .Property(Send.TextPart, message);

            if (!string.IsNullOrEmpty(html))
            {
                request.Property(Send.HtmlPart, html);
            }

            request.Property(Send.Recipients, new JArray {
                new JObject {
                    { "Email", email }
                }
            });


            MailjetResponse response = await _client.PostAsync(request);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Createse a new Mailjet contact
        /// </summary>
        /// <param name="apiKey"></param>
        /// <param name="apiSecret"></param>
        /// <param name="contactName"></param>
        /// <param name="contactEmail"></param>
        /// <returns></returns>
        public static async Task <int> CreateContactAsync(this IEmailSender emailSender, string apiKey, string apiSecret, string contactName, string contactEmail)
        {
            int           contactId = 0;
            MailjetClient client    = new MailjetClient(apiKey, apiSecret)
            {
                Version = ApiVersion.V3,
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource = Contact.Resource,
            }
            .Property(Contact.IsExcludedFromCampaigns, "true")
            .Property(Contact.Name, contactName)
            .Property(Contact.Email, contactEmail);
            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                var responseData = response.GetData();
                List <ResponseClass> responseDataList = JsonConvert.DeserializeObject <List <ResponseClass> >(responseData.ToString());
                contactId = responseDataList.FirstOrDefault().ID;
            }

            return(contactId);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Adds an existing mailjet contact to a contact list
        /// </summary>
        /// <param name="apiKey"></param>
        /// <param name="apiSecret"></param>
        /// <param name="contactId"></param>
        /// <param name="listId"></param>
        /// <returns></returns>
        public static async Task <long> AddContactToContactListAsync(this IEmailSender emailSender, string apiKey, string apiSecret, string contactId, string listId)
        {
            long          listRecipientId = 0;
            MailjetClient client          = new MailjetClient(apiKey, apiSecret)
            {
                Version = ApiVersion.V3,
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource = Listrecipient.Resource,
            }
            .Property("ContactID", contactId)
            .Property("ListID", listId);
            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                var responseData = response.GetData();
                List <ResponseClass> responseDataList = JsonConvert.DeserializeObject <List <ResponseClass> >(responseData.ToString());
                listRecipientId = responseDataList.FirstOrDefault().ID;
            }

            return(listRecipientId);
        }
Ejemplo n.º 17
0
        public async Task SendEmailAsync(string email, string subject, string htmlMessage)
        {
            MailjetClient client = new MailjetClient(_mailJetSettings.PublicKey,
                                                     _mailJetSettings.PrivateKey);

            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.Messages, new JArray {
                new JObject {
                    { "From", new JObject {
                          { "Email", _mailJetSettings.Email },
                          { "Name", "Mailjet Pilot" }
                      } },
                    { "To", new JArray {
                          new JObject {
                              { "Email", email },
                              { "Name", "Hello" }
                          }
                      } },
                    { "Subject", subject },
                    { "HTMLPart", htmlMessage }
                }
            });
            MailjetResponse response = await client.PostAsync(request);
        }
Ejemplo n.º 18
0
        public static async Task <string> GetValidSenderEmail(MailjetClient client)
        {
            MailjetRequest request = new MailjetRequest
            {
                Resource = Sender.Resource
            };

            MailjetResponse response = await client.GetAsync(request);

            Assert.AreEqual(200, response.StatusCode);

            foreach (var emailObject in response.GetData())
            {
                if (emailObject.Type != JTokenType.Object)
                {
                    continue;
                }

                if (emailObject.Value <string>("Status") == "Active")
                {
                    return(emailObject.Value <string>("Email"));
                }
            }

            Assert.Fail("Cannot find Active sender address under given account");
            throw new AssertFailedException();
        }
Ejemplo n.º 19
0
        public async Task <bool> SendConfirmationMail(string email, string confirmUrl)
        {
            if (_apiKey == null || _apiSecret == null)
            {
                await LoadSecretsAsync();
            }

            MailjetClient client = new MailjetClient(_apiKey, _apiSecret)
            {
                Version = ApiVersion.V3_1,
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.Messages, new JArray
            {
                new JObject
                {
                    {
                        "From",
                        new JObject
                        {
                            { "Email", "*****@*****.**" },
                            { "Name", "SocialNetwork" }
                        }
                    }, {
                        "To",
                        new JArray
                        {
                            new JObject
                            {
                                {
                                    "Email", email
                                }
                            }
                        }
                    }, {
                        "Subject",
                        "Confirm your email"
                    }, {
                        "TextPart",
                        "Confirm your email"
                    }, {
                        "HTMLPart",
                        $"<h3>Hello, thank for registering in SocialNetwork!</h3></br><a href='{confirmUrl}'>Confirm</a> your email for using our service!"
                    }
                }
            });

            MailjetResponse response = await client.PostAsync(request);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Email via ContactForm
        /// </summary>
        /// <param name="emailSender"></param>
        /// <param name="logger"></param>
        /// <param name="apiKey"></param>
        /// <param name="apiSecret"></param>
        /// <param name="templateId"></param>
        /// <param name="name"></param>
        /// <param name="email"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public static async Task <bool> SendMailjetAsync(this IEmailSender emailSender, string apiKey, string apiSecret, int templateId, string name, string email, string message)
        {
            MailjetClient client = new MailjetClient(apiKey, apiSecret)
            {
                Version = ApiVersion.V3_1,
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.Messages, new JArray {
                new JObject {
                    { "From", new JObject
                      {
                          { "Email", email },
                          { "Name", name }
                      } },
                    { "To", new JArray
                      {
                          new JObject {
                              { "Email", "*****@*****.**" },
                              { "Name", "Andreas Lichtsinn" }
                          }
                      } },
                    { "TemplateID", templateId },
                    { "TemplateLanguage", true },
                    { "Subject", "Nachricht über Kontaktformular" },
                    { "Variables", new JObject
                      {
                          { "name", name },
                          { "email", email },
                          { "message", message }
                      } },
                    { "TemplateErrorReporting", new JObject
                      {
                          { "Email", "*****@*****.**" },
                          { "Name", "Andreas Lichtsinn" }
                      } }
                }
            });

            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                return(true);
            }

            else
            {
                return(false);
            }
        }
Ejemplo n.º 21
0
        private async Task SendEmail(string to, string content, string textContent, string subject)
        {
            MailjetClient client = new MailjetClient(_mailJetApiKey, _mailjetApiSecret)
            {
                Version = ApiVersion.V3_1,
            };
            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.Messages, new JArray {
                new JObject {
                    {
                        "From",
                        new JObject {
                            { "Email", "*****@*****.**" },
                            { "Name", "Surfrider" }
                        }
                    }, {
                        "To",
                        new JArray {
                            new JObject {
                                {
                                    "Email",
                                    to
                                }
                                // , {
                                // "Name",
                                // "Christopher"
                                // }
                            }
                        }
                    }, {
                        "Subject",
                        subject
                    }, {
                        "TextPart",
                        textContent
                    }, {
                        "HTMLPart",
                        content
                    }, {
                        "CustomID",
                        "POValidateEmail"
                    }
                }
            });
            MailjetResponse response = await client.PostAsync(request);

            if (!response.IsSuccessStatusCode)
            {
                throw new ApplicationException("Unable to send email");
            }
        }
Ejemplo n.º 22
0
        public async Task <bool> SendMail(MailjetRequest mailjetRequest)
        {
            MailjetClient client = new MailjetClient(config.PublicKey, config.PrivateKey)
            {
                Version = ApiVersion.V3_1,
            };

            MailjetResponse response = await client.PostAsync(mailjetRequest);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 23
0
    public static string FormatForLogs(this MailjetResponse mailjetResponse)
    {
        var sb = new StringBuilder();

        if (!mailjetResponse.IsSuccessStatusCode)
        {
            sb.AppendLine($"StatusCode: {mailjetResponse.StatusCode}");
            sb.AppendLine(($"ErrorInfo: {mailjetResponse.GetErrorInfo()}"));
            sb.AppendLine((mailjetResponse.GetData().ToString()));
            sb.AppendLine(($"ErrorMessage: {mailjetResponse.GetErrorMessage()}"));
        }
        return(sb.ToString());
    }
        private async Task AssertDeleteContact(long contactId)
        {
            // arrange
            MailjetRequest request = new MailjetRequest
            {
                Resource   = Contacts.Resource, // pay attention - GDPR DELETE contact resource is named in plural
                ResourceId = ResourceId.Numeric(contactId)
            };

            // act
            MailjetResponse response = await _client.DeleteAsync(request);

            // assert
            Assert.AreEqual(200, response.StatusCode);
        }
        private async Task <bool> SendRequestAsync(MailjetRequest request)
        {
            MailjetResponse response = await _client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                return(true);
            }
            else
            {
                _logger.LogError(response.GetErrorMessage());
            }

            return(false);
        }
Ejemplo n.º 26
0
        private async Task DeleteTemplate(long templateId)
        {
            // arrange
            MailjetRequest request = new MailjetRequest
            {
                Resource   = Template.Resource,
                ResourceId = ResourceId.Numeric(templateId)
            };

            // act
            MailjetResponse response = await _client.DeleteAsync(request);

            // assert
            Assert.AreEqual(204, response.StatusCode);
        }
        public void TestSmsExportAsync()
        {
            int    expectedCode        = 1;
            string expectedName        = "PENDING";
            string expectedDescription = "The request is accepted.";

            var status = new JObject
            {
                { Code, expectedCode },
                { Name, expectedName },
                { Description, expectedDescription }
            };

            var smsExportResponse = new JObject
            {
                { Status, status }
            };

            var mockHttp = new MockHttpMessageHandler();

            // Setup a respond for the user api (including a wildcard in the URL)
            mockHttp.When("https://api.mailjet.com/v4/*")
            .Respond(JsonMediaType, GenerateJsonResponse(smsExportResponse));         // Respond with JSON

            // timsestamp range offset
            int offset = 1000;

            IMailjetClient client = new MailjetClient(API_TOKEN, mockHttp)
            {
                Version = ApiVersion.V4
            };

            MailjetRequest request = new MailjetRequest
            {
                Resource = sms.Export.Resource
            }
            .Property(sms.Export.FromTS, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds())
            .Property(sms.Export.ToTS, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + offset);


            MailjetResponse response = client.PostAsync(request).Result;

            Assert.IsTrue(response.IsSuccessStatusCode);
            Assert.AreEqual(expectedCode, response.GetData()[0][Status].Value <int>(Code));
            Assert.AreEqual(expectedName, response.GetData()[0][Status].Value <string>(Name));
            Assert.AreEqual(expectedDescription, response.GetData()[0][Status].Value <string>(Description));
        }
Ejemplo n.º 28
0
 public async Task Execute(string email, string subject, string body)
 {
     MailjetClient client = new MailjetClient("3933ef5b3ecf2d82e14603ad0c511d0c",
                                              "8616205a0f0d0a53ed5c38e91265bc9d");
     MailjetRequest request = new MailjetRequest
     {
         Resource = Send.Resource,
     }
     .Property(Send.Messages, new JArray {
         new JObject {
             {
                 "From",
                 new JObject {
                     { "Email", "*****@*****.**" },
                     { "Name", "Test" }
                 }
             }, {
                 "To",
                 new JArray {
                     new JObject {
                         {
                             "Email",
                             "*****@*****.**"
                         }, {
                             "Name",
                             "Test"
                         }
                     }
                 }
             }, {
                 "Subject",
                 "Greetings from Mailjet."
             }, {
                 "TextPart",
                 "My first Mailjet email"
             }, {
                 "HTMLPart",
                 "<h3>Dear passenger 1, welcome to <a href='https://www.mailjet.com/'>Mailjet</a>!</h3><br />May the delivery force be with you!"
             }, {
                 "CustomID",
                 "AppGettingStartedTest"
             }
         }
     });
     MailjetResponse response = await client.PostAsync(request);
 }
Ejemplo n.º 29
0
        private void HandleResponse(EmailSettings settings, bool throwIfError, MailjetResponse response)
        {
            if (response.IsSuccessStatusCode)
            {
                return;
            }

            var errorText            = this.localizer.GetAndApplyValues("MailjetError", settings.Subject, settings.ToEmail);
            var emailSenderException = new MailjetException(errorText);

            this.logger.LogError(emailSenderException, response.GetData().ToString());

            if (throwIfError)
            {
                throw emailSenderException;
            }
        }
Ejemplo n.º 30
0
        public async Task SendEmailAsync(string email, string subject, string htmlMessage)
        {
            MailjetClient  client  = new MailjetClient(_mailjetSettings.PublicKey, _mailjetSettings.PrivateKey);
            MailjetRequest request = new MailjetRequest
            {
                Resource = Send.Resource,
            }
            .Property(Send.FromEmail, _mailjetSettings.Email)

            //상대방이 받았을때 보낸사람의 이름
            .Property(Send.FromName, "From Hidden Villa")

            //메일 제목
            .Property(Send.Subject, subject)

            //뭔지 모름. 메일함에 표시도 안됨
            .Property(Send.TextPart, "Dear passenger, welcome to Mailjet! May the delivery force be with you!")

            //본문내용.
            .Property(Send.HtmlPart, htmlMessage)

            //받는 사람들 목록 정해주기
            .Property(Send.Recipients, new JArray {
                new JObject {
                    //받는 사람의 이메일
                    { "Email", email }
                    , { "Name", "dummyRecipiName" } // 받은 사람의 닉네임 정해주기. 없어도 됨
                }
                , new JObject {
                    { "Email", "*****@*****.**" }
                }
            });
            MailjetResponse response = await client.PostAsync(request);

            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(string.Format("Total: {0}, Count: {1}\n", response.GetTotal(), response.GetCount()));
                Console.WriteLine(response.GetData());
            }
            else
            {
                Console.WriteLine(string.Format("StatusCode: {0}\n", response.StatusCode));
                Console.WriteLine(string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()));
                Console.WriteLine(string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
            }
        }