diff --git a/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj b/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj
index be953a1f26..783d840cf0 100644
--- a/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj
+++ b/framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj
@@ -24,14 +24,11 @@
-
-
-
-
+
diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs
index 9641f7c14c..afcbaf6aef 100644
--- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs
+++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs
@@ -1,12 +1,9 @@
-using System;
-using System.Collections.Generic;
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.BackgroundJobs;
+using Volo.Abp.BackgroundJobs;
using Volo.Abp.Emailing.Localization;
-using Volo.Abp.Emailing.Templates;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Settings;
+using Volo.Abp.TextTemplating;
using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.Emailing
@@ -15,15 +12,11 @@ namespace Volo.Abp.Emailing
typeof(AbpSettingsModule),
typeof(AbpVirtualFileSystemModule),
typeof(AbpBackgroundJobsAbstractionsModule),
- typeof(AbpLocalizationModule)
+ typeof(AbpLocalizationModule),
+ typeof(AbpTextTemplatingModule)
)]
public class AbpEmailingModule : AbpModule
{
- public override void PreConfigureServices(ServiceConfigurationContext context)
- {
- AutoAddDefinitionProviders(context.Services);
- }
-
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure(options =>
@@ -43,40 +36,5 @@ namespace Volo.Abp.Emailing
options.AddJob();
});
}
-
- private static void AutoAddDefinitionProviders(IServiceCollection services)
- {
- var definitionProviders = new List();
-
- services.OnRegistred(context =>
- {
- if (typeof(IEmailTemplateDefinitionProvider).IsAssignableFrom(context.ImplementationType))
- {
- definitionProviders.Add(context.ImplementationType);
- }
- });
-
- services.Configure(options =>
- {
- options.DefinitionProviders.AddIfNotContains(definitionProviders);
- });
- }
-
- public override void OnApplicationInitialization(ApplicationInitializationContext context)
- {
- using (var scope = context.ServiceProvider.CreateScope())
- {
- var emailTemplateDefinitionManager =
- scope.ServiceProvider.GetRequiredService();
-
- foreach (var templateDefinition in emailTemplateDefinitionManager.GetAll())
- {
- foreach (var contributor in templateDefinition.Contributors)
- {
- contributor.Initialize(new EmailTemplateInitializationContext(templateDefinition, scope.ServiceProvider));
- }
- }
- }
- }
}
}
diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/AbpEmailTemplateOptions.cs b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/AbpEmailTemplateOptions.cs
deleted file mode 100644
index cb5a9d370b..0000000000
--- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/AbpEmailTemplateOptions.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Volo.Abp.Collections;
-
-namespace Volo.Abp.Emailing.Templates
-{
- public class AbpEmailTemplateOptions
- {
- public string DefaultLayout { get; set; }
-
- public ITypeList DefinitionProviders { get; }
-
- public AbpEmailTemplateOptions()
- {
- DefaultLayout = StandardEmailTemplates.DefaultLayout;
-
- DefinitionProviders = new TypeList();
- }
- }
-}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplateProvider.cs b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplateProvider.cs
index c15012f0bf..28d1ac94c1 100644
--- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplateProvider.cs
+++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplateProvider.cs
@@ -1,16 +1,26 @@
-using Volo.Abp.Emailing.Templates.VirtualFiles;
+using Volo.Abp.TextTemplating;
namespace Volo.Abp.Emailing.Templates
{
- public class DefaultEmailTemplateProvider : EmailTemplateDefinitionProvider
+ public class DefaultEmailTemplateProvider : TemplateDefinitionProvider
{
- public override void Define(IEmailTemplateDefinitionContext context)
+ public override void Define(ITemplateDefinitionContext context)
{
- context.Add(new EmailTemplateDefinition(StandardEmailTemplates.DefaultLayout, defaultCultureName: "en", isLayout: true, layout: null)
- .AddTemplateVirtualFiles("/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Layout"));
+ context.Add(
+ new TemplateDefinition(
+ StandardEmailTemplates.DefaultLayout,
+ defaultCultureName: "en",
+ isLayout: true,
+ layout: null
+ ).AddVirtualFiles("/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Layout")
+ );
- context.Add(new EmailTemplateDefinition(StandardEmailTemplates.SimpleMessage, defaultCultureName: "en")
- .AddTemplateVirtualFiles("/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Message"));
+ context.Add(
+ new TemplateDefinition(
+ StandardEmailTemplates.SimpleMessage,
+ defaultCultureName: "en"
+ ).AddVirtualFiles("/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Message")
+ );
}
}
}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Layout/en.tpl b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Layout/en.tpl
index 107fbb5230..57453a027f 100644
--- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Layout/en.tpl
+++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Layout/en.tpl
@@ -4,6 +4,6 @@
- {{#content}}
+ {{content}}