public void SendFromTemplate(string toEmail, string subject, TextTemplate template, TextReplacements replacements) { // Setup replacements. if (string.IsNullOrEmpty(replacements.RecipientEmail)) { replacements.RecipientEmail = toEmail; } replacements.BaseUrl = ConfigUtil.BaseAppUrl; // Compile email body and subject. var emailBody = _templateManager.Compile(template, replacements); var emailSubject = _templateManager.Compile(subject, replacements); var categories = GetEmailCategories(template); // Prepare the email message and queue it. var mailMessage = CreateEmailMessage(toEmail, toEmail, emailSubject, emailBody, categories); Task.Run(() => QueueEmail(mailMessage)); }