3

我继承了一个基于 Orchard 1.6 并升级到 1.9 的项目。它严重依赖IMessageManager现在已弃用的 向用户发送电子邮件:

public void SendEmail(List<string> recipients, string subject, string body)
{
    var data = new Dictionary<string, string>();

    data.Add("Subject", subject);
    data.Add("Body", body);

    _messageManager.Send(recipients, "Event_Notification", "email", data);
}

现在我需要将动态生成的文件附件(来自 a MemoryStream)添加到其中的一些邮件中。我可能不得不完全重写它,因为我看不到任何将附件传递给的方法,MessageManager但我不确定可以使用什么作为替代方案。

Orchard.Email.Services.SmtpMessageChannel似乎已经完成了所有繁重的工作,它创建了一个System.Net.Mail.MailMessage可以采取的方法,AttachmentCollectionvoid Process(IDictionary<string, object> parameters)方法仍然没有。

我应该扩展它来做我想做的事吗?如果是这样,怎么做?或者是否已经有一种更简单的方法来告诉 Orchard 向收件人发送一封带有标题、正文和附件集合的电子邮件?

4

0 回答 0