예제 #1
0
        public void Test_ValidateOptionsInstance()
        {
            var client = new MailjetEmailClient(new MailjetSimpleClient(), MailjetOptions);

            Assert.Same(MailjetOptions, client.Options);
            Assert.Equal(MailjetOptions, client.Options);
        }
예제 #2
0
        public async Task Test_ValidateSandboxTemplateEmailSend()
        {
            MailjetOptions.EmailOptions.SandboxMode = true;
            var client = new MailjetEmailClient(new MailjetSimpleClient(), MailjetOptions);

            var res = await client.SendAsync(new TemplateEmailMessage(TestTemplateId, "Max Strålin", "*****@*****.**")
            {
                To      = new[] { new EmailEntity("Max Strålin", "*****@*****.**"), },
                Subject = "Test of email"
            });

            Assert.True(res.Successful);
        }
예제 #3
0
        public async Task Test_ValidateSandboxBasicEmailSend()
        {
            MailjetOptions.EmailOptions.SandboxMode = true;
            var client = new MailjetEmailClient(new MailjetSimpleClient(), MailjetOptions);
            var msg    = new EmailMessage("Max Strålin", "*****@*****.**")
            {
                To       = new[] { new EmailEntity("Max Strålin", "*****@*****.**"), },
                Subject  = "Test of email",
                HtmlBody = "<div>An HTML body</div>"
            };

            var res = await client.SendAsync(msg);

            Assert.True(res.Successful);
        }
예제 #4
0
        private static async Task Main()
        {
            //Can also be through a configuration action, e.g. (opt) => { PrivateKey = "" }
            var client = new MailjetEmailClient(new MailjetSimpleClient(), new MailjetOptions
            {
                PrivateKey   = Environment.GetEnvironmentVariable("MAILJET_PRIVATE_KEY"),
                PublicKey    = Environment.GetEnvironmentVariable("MAILJET_PUBLIC_KEY"),
                EmailOptions = { SandboxMode = true }
            });
            var message = new EmailMessage("Max Strålin", "*****@*****.**")
            {
                To = new List <EmailEntity> {
                    new EmailEntity("Max Strålin", "*****@*****.**")
                },
                HtmlBody = @"<div>Fantastic sample email. Need a job?</div>"
            };
            //A successful message in sandbox mode
            var successful = await client.SendAsync(message);

            if (!successful.Successful)
            {
                throw new Exception("This request should be successful");
            }

            //Send a template email
            var templateMessage = new TemplateEmailMessage(templateId: 711944, from: message.From)
            {
                To = message.To
            };
            var successfulTemplate = await client.SendAsync(templateMessage);

            if (!successfulTemplate.Successful)
            {
                throw new Exception("This request should be successful");
            }

            //Let's empty the recipients list, making the request invalid
            // ReSharper disable once RedundantEmptyObjectOrCollectionInitializer
            message.To = new List <EmailEntity> {
            };
            //Will indicate an error
            var error = await client.SendAsync(message);

            if (error.Successful)
            {
                throw new Exception("This request should be unsuccessful");
            }
        }
예제 #5
0
        public async Task Test_ValidateSandboxAttachmentsEmailSend()
        {
            var contentId     = "MyImg";
            var contentType   = "image/png";
            var base64Content =
                "iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAQAAACR313BAAAAE0lEQVR42mNk+M+ABzCOSg8xaQBswQ8Bqy5znAAAAABJRU5ErkJggg==";

            var inlinedAttachment = new InlinedAttachment
            {
                Base64Content = base64Content,
                ContentId     = contentId,
                ContentType   = contentType,
                Filename      = "BlackPixel.png"
            };
            var attachment = new Attachment
            {
                Base64Content = base64Content,
                ContentType   = contentType,
                Filename      = "BlackPixel_attached.png"
            };

            MailjetOptions.EmailOptions.SandboxMode = true;
            var client = new MailjetEmailClient(new MailjetSimpleClient(), MailjetOptions);
            var msg    = new EmailMessage("Max Strålin", "*****@*****.**")
            {
                To                 = new[] { new EmailEntity("Max Strålin", "*****@*****.**"), },
                Subject            = "Test of email",
                HtmlBody           = "<div>An HTML body <img src='cid:MyImg' /></div>",
                InlinedAttachments = new List <IInlinedAttachment>()
                {
                    inlinedAttachment
                },
                Attachments = new List <IAttachment>()
                {
                    attachment
                }
            };

            var res = await client.SendAsync(msg);

            Assert.True(res.Successful);
        }