【发布时间】:2015-08-28 02:21:19
【问题描述】:
在较高级别上,我正在尝试生成 Outlook 电子邮件项目服务器端,然后将其返回给客户端,以便它在本地 Outlook 中打开,允许他们进行所需的任何更改(这与发送通过 SMTP 发送电子邮件)。
这真的是我第一次使用文件流,我不确定如何继续。我有一个我正在尝试做的非常基本的开始,最初只是在此控制器操作返回邮件项目后打开 Outlook。此代码是在控制器中调用以创建邮件项的代码。我没有任何添加各种电子邮件地址、正文、主题等的逻辑,因为这并不相关。这个代码也被控制器动作调用,只是把它放在这里,以防我在创建邮件项时也做错了。
public MailItem CreateEmail(int id)
{
Application app = new Application();
MailItem email = (MailItem)app.CreateItem(OlItemType.olMailItem);
email.Recipients.Add("example@example.com");
return email;
}
这是我想将此 MailItem 返回给客户端的控制器操作。 (这就是通过 AJAX 调用的方法)
public ActionResult GenerateEmail(int id)
{
using (MemoryStream ms = new MemoryStream())
{
BinaryFormatter format = new BinaryFormatter();
format.Serialize(ms, logic.CreateEmail(id));
return File(ms, "message/rfc822");
}
}
代码在 format.Serialize 处中断,提示我的 _COM 对象无法序列化。有没有办法做我想做的事,还是应该寻找其他方法来实现这个目标?
【问题讨论】:
标签: c# asp.net-mvc email outlook