コード例 #1
0
        public async Task <IActionResult> SendMultiple([FromServices] IFluentEmailFactory emailFactory)
        {
            var model1 = new
            {
                Name = "test name"
            };

            await emailFactory.Create()
            .To("*****@*****.**")
            .SetFrom("*****@*****.**")
            .Subject("test email subject")
            .UsingTemplate(@"hi @Model.Name this is the first email @(5 + 5)!", model1)
            .SendAsync();

            var model2 = new
            {
                Name = "test2 name"
            };

            await emailFactory.Create()
            .To("*****@*****.**")
            .SetFrom("*****@*****.**")
            .Subject("test email subject")
            .UsingTemplate(@"hi @Model.Name this is the second email @(5 + 5)!", model1)
            .SendAsync();

            return(Content("ok"));
        }
コード例 #2
0
 public AppHost(IScraper scraper, ICompare compare, IOptions <ScraperConfiguration> config, IFluentEmailFactory fluentEmail)
 {
     _scraper     = scraper;
     _compare     = compare;
     _config      = config.Value;
     _fluentEmail = fluentEmail;
 }
コード例 #3
0
 public FluentMailSender(IFluentEmailFactory emailFactory, ViewToStringRendererService renderer,
                         ILogger <FluentMailSender> logger, IBackgroundJobClient?backgroundJobClient = null)
 {
     _emailFactory        = emailFactory;
     _renderer            = renderer;
     _logger              = logger;
     _backgroundJobClient = backgroundJobClient;
 }
コード例 #4
0
 public EmailSender(SendGridConfiguration emailConfig
                    , AuthHtmlTemplateConfig authHtml
                    , IFluentEmailFactory emailClientFactory)
 {
     _emailConfig        = emailConfig;
     _authTemplatePath   = authHtml;
     _emailClientFactory = emailClientFactory;
 }
コード例 #5
0
        private async Task SendEmailAsync(EmailQueuerTask emailTask, IFluentEmailFactory fluent)
        {
            var data = JsonConvert.DeserializeObject(emailTask.ModelJson,
                                                     options.Assembly.Assembly.GetType(emailTask.ModelType));

            var emails = emailTask.To.Split(";")
                         .Select(e => new FluentEmail.Core.Models.Address {
                EmailAddress = e
            })
                         .ToArray();

            FluentEmail.Core.Models.Address[] cc = { };
            if (!string.IsNullOrEmpty(emailTask.CC))
            {
                cc = emailTask.CC.Split(";")
                     .Select(e => new FluentEmail.Core.Models.Address {
                    EmailAddress = e
                })
                     .ToArray();
            }

            FluentEmail.Core.Models.Address[] bcc = { };
            if (!string.IsNullOrEmpty(emailTask.BCC))
            {
                bcc = emailTask.BCC.Split(";")
                      .Select(e => new FluentEmail.Core.Models.Address {
                    EmailAddress = e
                })
                      .ToArray();
            }

            var attachmentFileNames = emailTask.AttachmentPaths.Split(";");

            var body = await GenerateEmailBody(emailTask.Template, data);

            var emailToSend = fluent.Create()
                              .To(emails)
                              .CC(cc)
                              .BCC(bcc)
                              .Subject(emailTask.Subject)
                              .Body(body, true);

            foreach (var attachmentFileName in attachmentFileNames)
            {
                if (!string.IsNullOrEmpty(attachmentFileName))
                {
                    emailToSend.AttachFromFilename(attachmentFileName);
                }
            }

            await emailToSend.SendAsync();
        }
コード例 #6
0
 public BaseControllerDependencies(
     DefaultContext defaultContext,
     IMapper mapper,
     ProxmoxManager proxmoxManager,
     IFluentEmailFactory emailFactory,
     AppSettings appSettings)
 {
     this.DatabaseContext = defaultContext;
     this.Mapper          = mapper;
     this.ProxmoxManager  = proxmoxManager;
     this.EmailFactory    = emailFactory;
     this.AppSettings     = appSettings;
 }
コード例 #7
0
 public NotificationsService(ApplicationDbContext context, IFluentEmailFactory fluentFactory, PdfService pdf)
 {
     _context       = context;
     _fluentFactory = fluentFactory;
     _pdf           = pdf;
 }
コード例 #8
0
 public NotificationSmtpSender(IFluentEmailFactory emailFactory, IGraphService graphService)
 {
     this.emailFactory = emailFactory ?? throw new ArgumentNullException(nameof(emailFactory));
     this.graphService = graphService ?? throw new ArgumentNullException(nameof(graphService));
 }
 public OrderCompletedDomainEventHandler(IFluentEmailFactory emailFactory, IRazorViewToStringRenderer razorView, IMapper mapper)
 {
     _emailFactory = emailFactory;
     _razorView    = razorView;
     _mapper       = mapper;
 }
コード例 #10
0
 public EmailService(IFluentEmailFactory fluentEmailFactory, IAutomailerContext automailerContext)
 {
     _fluentEmailFactory = fluentEmailFactory;
     _automailerContext  = automailerContext;
 }
コード例 #11
0
 public FluentMailer(IFluentEmailFactory emailFactory)
 {
     this.emailFactory = emailFactory;
 }