【问题标题】:Return Email Message from Web Api从 Web Api 返回电子邮件消息
【发布时间】:2017-01-20 18:36:27
【问题描述】:

我不确定这是否可行,但我需要从 Web api 控制器返回一封电子邮件。本质上,它将允许用户打开文件(eml 或 msg),进行一些更改,然后将其发送给相关人员。

代码方面,我有一个返回 MailMessage 的服务。

我有一个返回 pdf 的控制器,使用文件的字节数组作为其内容,但邮件消息似乎不是最容易转换的东西。

这可能吗?如果可以的话,我宁愿不先将消息写入磁盘,但如果这是唯一的解决方案,我可以。

【问题讨论】:

    标签: email asp.net-web-api2 msg eml


    【解决方案1】:

    我刚刚遇到同样的问题,我是这样解决的:

    var stream = new MemoryStream(); // this has to contain your file content
    
    var response = new HttpResponseMessage(HttpStatusCode.OK)
    {
        Content = new ByteArrayContent(stream.GetBuffer())
    };
    
    response.Content.Headers.ContentType = new MediaTypeHeaderValue("message/rfc822");
    
    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    {
        FileName = "test.eml"
    };
    

    如果您想知道如何生成电子邮件并且不发送但将它们保存到磁盘,您可以查看此处提出的解决方案:How to save MailMessage object to disk as *.eml or *.msg file

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-06
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多