private void UserAccountEncouragement(User user, string additionalData = null) { if (!user.EnableEmail.GetValueOrDefault(true)) { return; } EmailHealthEncouragementContainer emailDigestContainer = new EmailHealthEncouragementContainer(); PublicApi.Users.RunAsUser(user.Username, () => { emailDigestContainer.ContentRecommendations = PublicApi.ContentRecommendations.List(new ContentRecommendationsListOptions() { PageSize = 25, PageIndex = 0, ContentTypeIds = new Guid[] { PublicApi.BlogPosts.ContentTypeId, PublicApi.ForumThreads.ContentTypeId, PublicApi.Media.ContentTypeId, PublicApi.WikiPages.ContentTypeId, PublicApi.ForumReplies.ContentTypeId } }).ToList(); }); TemplateContext templateContext = new TemplateContext(new Dictionary <Guid, object>() { { PublicApi.Users.ContentTypeId, user }, { EmailHealthEncouragementContainer.DateTypeId, emailDigestContainer } }); PublicApi.Users.RunAsUser(user.Username, () => { var mailTempalte = Telligent.Evolution.Extensibility.Version1.PluginManager.GetSingleton <UserEncouragementEmailTemplate>(); if (mailTempalte != null) { var mailOptions = mailTempalte.GetSendMailOptions(user.Id.GetValueOrDefault(), templateContext); if (additionalData != null) { var attachments = new List <System.Net.Mail.Attachment>(); byte[] byteArray = Encoding.UTF8.GetBytes(additionalData); var attachment = new System.Net.Mail.Attachment(new MemoryStream(byteArray), new System.Net.Mime.ContentType("text/plain; charset=us-ascii")); attachment.ContentDisposition.DispositionType = "attachment"; attachment.ContentDisposition.FileName = "userlist.txt"; attachment.ContentDisposition.Size = byteArray.Length; attachments.Add(attachment); mailOptions.Attachments = attachments; } PublicApi.SendEmail.Send(mailOptions); } }); }
private void UserAccountEncouragement(User user , string additionalData = null) { if (!user.EnableEmail.GetValueOrDefault(true)) return; EmailHealthEncouragementContainer emailDigestContainer = new EmailHealthEncouragementContainer(); PublicApi.Users.RunAsUser(user.Username, () => { emailDigestContainer.ContentRecommendations = PublicApi.ContentRecommendations.List(new ContentRecommendationsListOptions() { PageSize = 25, PageIndex = 0, ContentTypeIds = new Guid[] { PublicApi.BlogPosts.ContentTypeId, PublicApi.ForumThreads.ContentTypeId, PublicApi.Media.ContentTypeId, PublicApi.WikiPages.ContentTypeId, PublicApi.ForumReplies.ContentTypeId } }).ToList(); }); TemplateContext templateContext = new TemplateContext(new Dictionary<Guid, object>() { { PublicApi.Users.ContentTypeId, user }, { EmailHealthEncouragementContainer.DateTypeId, emailDigestContainer } }); PublicApi.Users.RunAsUser(user.Username, () => { var mailTempalte = Telligent.Evolution.Extensibility.Version1.PluginManager.GetSingleton<UserEncouragementEmailTemplate>(); if (mailTempalte != null) { var mailOptions = mailTempalte.GetSendMailOptions(user.Id.GetValueOrDefault(), templateContext); if (additionalData != null) { var attachments = new List<System.Net.Mail.Attachment>(); byte[] byteArray = Encoding.UTF8.GetBytes(additionalData); var attachment = new System.Net.Mail.Attachment(new MemoryStream(byteArray), new System.Net.Mime.ContentType("text/plain; charset=us-ascii")); attachment.ContentDisposition.DispositionType = "attachment"; attachment.ContentDisposition.FileName = "userlist.txt"; attachment.ContentDisposition.Size = byteArray.Length; attachments.Add(attachment); mailOptions.Attachments = attachments; } PublicApi.SendEmail.Send(mailOptions); } }); }