Orchardcms 我可以使用内置的Orchard功能从code发送带有附件的电子邮件吗?

Orchardcms 我可以使用内置的Orchard功能从code发送带有附件的电子邮件吗?,orchardcms,orchardcms-1.9,Orchardcms,Orchardcms 1.9,我继承了一个基于Orchard 1.6并升级到1.9的项目。它严重依赖于IMessageManager(现已弃用)向用户发送电子邮件: public void sendmail(列出收件人、字符串主题、字符串正文) { var data=newdictionary(); 数据。添加(“主题”,主题); 数据。添加(“正文”,正文); _发送(收件人,“事件通知”、“电子邮件”、数据); } 现在,我需要向其中一些邮件添加动态生成的文件附件(从MemoryStream)。我可能必须完全重写它,因

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

public void sendmail(列出收件人、字符串主题、字符串正文)
{
var data=newdictionary();
数据。添加(“主题”,主题);
数据。添加(“正文”,正文);
_发送(收件人,“事件通知”、“电子邮件”、数据);
}
现在,我需要向其中一些邮件添加动态生成的文件附件(从
MemoryStream
)。我可能必须完全重写它,因为我看不到任何方法可以将附件传递到
MessageManager
,但我不确定使用什么作为替代方法

Orchard.Email.Services.SmtpMessageChannel
似乎已经完成了所有繁重的工作,它创建了一个
System.Net.Mail.MailMessage
,可以使用
AttachmentCollection
无效进程(IDictionary参数)
方法仍然不能


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

最近GitHub上有一封PR,请查看:@Virustinity一目了然,我认为此更改是为了附加存储在磁盘上的文件,并希望文件名和路径以字符串形式传递。我可以用这个来看看我需要做哪些调整。