代码之家  ›  专栏  ›  技术社区  ›  Mozy

SSRS 2008-以电子邮件形式发送报告

  •  1
  • Mozy  · 技术社区  · 15 年前

    我想做的是将ssrs2008报告呈现为HTML(实际上是MHTML)并将其作为邮件正文发送。

    如下所示:MIME版本:1.0内容类型:multipart/related; boundary=“-----=\u NextPart\u 01C35DB7.4B204430”X-MSSQLRS-ProducerVersion: V10.0.2531.0这是一个MIME格式的多部分消息。 filename=“FollowUpNotification”内容类型:text/html; name=“FollowUpNotification”;charset=“utf-8”内容传输编码:base64 Pcfet0nuwvbfiehutuwgufvvcteldicitly9xm0mvl0rurcbive1midqumdegvhjhbnnp。。。

    你知道我遗漏了什么吗?

    下面是一段代码片段:

    myMail.BodyEncoding = System.Text.Encoding.UTF8;
    
    myMail.IsBodyHtml = true;
    
    WebClient client = new WebClient();
    
    System.Net.NetworkCredential repAuthenticationInfo = 
        new System.Net.NetworkCredential(@"username", @"password");
    client.Credentials = repAuthenticationInfo;
    
    client.Encoding = System.Text.Encoding.UTF8;
    
    string messageBody = client.DownloadString(
        "http://<<reportserver>>&rs%3aFormat=MHTML&Parameter=" + Parameter);
    
    myMail.Body = messageBody;
    
    2 回复  |  直到 15 年前
        1
  •  3
  •   Community CDub    8 年前

    System.Net.Mail不支持在MHTML显示为消息的位置发送MHTML电子邮件(请参阅此页中有人在的位置) attempting to send MHTML as email ).

    以下是一些选项:

    1. 将格式参数从MHTML更改为HTML3.2或HTML4.0。然后,sqlreportingservices将为您提供原始HTML。
    2. 将MHTML作为附件而不是内联发送。
    3. 使用SSRS的内置电子邮件订阅功能,就像上面评论中建议的OMG小马一样。
    4. 将MHTML内联,如中所述 this question . 你可能会想买一个图书馆来帮助这个。
        2
  •  1
  •   Daver    14 年前

    我喜欢Nate的回答,我可以使用上面第4点的链接中的建议让HTML4.0正常工作,所以这里是任何在这里闲逛的人的捷径。一个简短的注意,虽然,我是用SMTP发送电子邮件和图像被删除,因为他们无法链接回我的SSRS服务器。

    我没有一个将.mht内容作为电子邮件正文发送的解决方案,但我确实找到了将SQLServer2005报表导出为普通的旧HTML格式的方法。我最初也被Render方法的“format”参数的糟糕文档所抛弃。结果是,如果您传入“HTML4.0”,SSRS将为您生成HTML。

    推荐文章