diff --git a/zero.Core/Mails/MailProvider.cs b/zero.Core/Mails/MailProvider.cs
index 74059df1..e470d83c 100644
--- a/zero.Core/Mails/MailProvider.cs
+++ b/zero.Core/Mails/MailProvider.cs
@@ -94,8 +94,8 @@ namespace zero.Core.Mails
}
-
- protected virtual async Task Render(Mail message)
+ ///
+ public virtual async Task Render(Mail message)
{
message.Subject = TokenReplacement.Apply(message.Subject, message.Placeholders);
message.Body = TokenReplacement.Apply(message.Body, message.Placeholders);
@@ -103,7 +103,7 @@ namespace zero.Core.Mails
if (!message.HasView)
{
message.IsRendered = true;
- return;
+ return message.Body;
}
string viewPath = message.ViewPath;
@@ -116,6 +116,7 @@ namespace zero.Core.Mails
message.Body = await Renderer.ViewAsync(viewPath, message);
message.IsBodyHtml = true;
message.IsRendered = true;
+ return message.Body;
}
@@ -166,6 +167,12 @@ namespace zero.Core.Mails
///
Task> Create(string mailTemplateKey, T model, CancellationToken token = default) where T : class;
+ ///
+ /// Renders the message body.
+ /// This is automatically called when sending messages.
+ ///
+ Task Render(Mail message);
+
///
/// Sends a message with the default dispatcher
///