示例#1
0
 public void BuildOtherInvalidEmail()
 {
     _ = EmailTemplateBuilder.New("Template 1")
         .To("*****@*****.**")
         .With()
         .Subject("AAA")
         .Add("Template 2");
 }
        public async Task EditEmailTemplate(string templateName, string subject, string content)
        {
            var templateTuple = GetTemplateTuple(templateName);

            var emailTemplate = new EmailTemplateBuilder()
                                .SetSubject(subject)
                                .SetContent(content)
                                .Build();

            var templateFileToWrite =
                $"{emailTemplate.Subject}{EmailTemplateDictionary.TemplateSeparator}{emailTemplate.Content}";

            await filesManager.WriteFile(templateFileToWrite, $"{filesManager.WebRootPath}{templateTuple.Path}");
        }
示例#3
0
 public void BuildDuplicateEmailName()
 {
     _ = EmailTemplateBuilder.New("Template 1")
         .To("*****@*****.**")
         .With()
         .Subject("Email Subject")
         .Body("Email body")
         .Add("Template 1")
         .To("*****@*****.**")
         .With()
         .Subject("Email Subject")
         .BodyFrom("TestData/Body.html")
         .Build();
 }
        public InlineEmailTemplateProvider(Action <IEmailTemplateBuilder> actions)
        {
            if (actions is null)
            {
                throw new ArgumentNullException(nameof(actions));
            }

            _templates = new Dictionary <string, IEmailTemplate>();
            var builder = new EmailTemplateBuilder(_templates);

            actions.Invoke(builder);

            //Validate Templates
            builder.Build();
        }
示例#5
0
        public void BuildTwoEmail()
        {
            var b = EmailTemplateBuilder.New("Template 1")
                    .To("*****@*****.**")
                    .Cc("*****@*****.**")
                    .Bcc("*****@*****.**")
                    .With()
                    .Subject("Email Subject")
                    .Body("Email body")
                    .Add("Template 2")
                    .To("*****@*****.**")
                    .With()
                    .Subject("Email Subject")
                    .BodyFrom("TestData/Body.html")
                    .Build();

            b.Should().HaveCount(2);
            b.OfType <EmailTemplate>().All(i => i.IsValid).Should().BeTrue();
        }
        private static EmailTemplate CreateEmailTemplateFromFile(string templateFromFile, string templateName,
                                                                 string[] allowedParameters)
        {
            if (string.IsNullOrEmpty(templateFromFile))
            {
                throw new ArgumentException("Email template is empty");
            }

            var templateSplittedIntoLines =
                templateFromFile.Split(EmailTemplateDictionary.TemplateSeparator);

            var emailTemplate = new EmailTemplateBuilder()
                                .SetName(templateName)
                                .SetSubject(templateSplittedIntoLines[0])
                                .SetContent(templateSplittedIntoLines[1])
                                .WithParameters(allowedParameters)
                                .Build();

            return(emailTemplate);
        }
示例#7
0
        public void BuildAnEmail()
        {
            var b = EmailTemplateBuilder.New("Template 1")
                    .To("*****@*****.**")
                    .Cc("*****@*****.**")
                    .Bcc("*****@*****.**")
                    .With()
                    .Subject("Email Subject")
                    .Body("Email body")
                    .Build();

            b.Should().HaveCount(1);

            var t = b.First();

            t.Name.Should().Be("Template 1");
            t.ToEmails.Should().Be("*****@*****.**");
            t.CcEmails.Should().Be("*****@*****.**");
            t.BccEmails.Should().Be("*****@*****.**");
            t.Subject.Should().Be("Email Subject");
            t.Body.Should().Be("Email body");
            ((EmailTemplate)t).IsValid.Should().BeTrue();
        }
        public async Task <IActionResult> Send(SendEmailRequest request)
        {
            var recipient = request.Recipient;
            var subject   = request.Subject;

            var dict = new Dictionary <string, string>();

            dict.Add("ime", "srdjan");
            dict.Add("posiljalac", "*****@*****.**");

            var message = new EmailTemplateBuilder(new DefaultEmailStyler())
                          .AddHeading1(subject)
                          .AddParagraph("Zdravo [ime],")
                          .AddParagraph("primili ste posiljku od [posiljalac]")
                          .AddParagraph("Ovo je jos jedan testni paragraf")
                          .AddLink("www.verto.rs", "Otvori Verto")
                          //.AddImage("https://th.bing.com/th/id/OIP.c0doCNZwZcn2uK6YR3e1jAHaD4?pid=Api&rs=1")
                          .Bind(dict)
                          .Build();

            _sender.Dispatch(recipient, subject, message);

            return(NoContent());
        }