c# – 当使用System.Net.Mail发送时,HTML4.0 SSRS报告在Outlook中被压缩.它可以修复吗?

我正在使用SSRS Web服务生成HTML4.0格式报告,然后我尝试使用System.Net.Mail发送它们(我知道SSRS内置报告调度,但我们需要处理所有预定的进程在一个中心位置).所以,我正在生成html文件,然后尝试构造这样的邮件消息:

using (var sw = new StreamReader(htmlFile))
{
    mail_body = sw.ReadToEnd();
}

var mail = new MailMessage
                {
                    From = new MailAddress(mail_from),
                    Subject = mail_subject,
                    IsBodyHtml = true,
                    Body = mail_body
                };

唯一的问题是,当我这样做时,虽然我在浏览器中打开它时html文件看起来很好,但在Outlook中它最终会被横向压扁.

例如这是我的html文件在IE中的样子:

但是当我使用上面的方法发送电子邮件后,在Outlook中它最终看起来像这样:

似乎有某种线宽限制,但我不确定这种情况发生在什么程度.

有没有人对可能导致这种情况的原因有任何见解?

谢谢!

最佳答案
我们遇到了类似的问题,经过大量的解决方法后,我们终于找到了SSRS配置中的一个参数:OutlookCompat.启用此功能后,HTML4.0电子邮件不再在Outlook中显得狭窄.

有关详细信息,请参阅MSDN documentation.您可以在SSRS配置文件中设置此值(对于所有报告和调用者),也可以在调用ASMX时直接设置此值.

SSRS配置示例:

<Extension Name="HTML4.0" Type="...">
    <Configuration>
       <DeviceInfo>
          <OutlookCompat>True</OutlookCompat>
       </DeviceInfo>
    </Configuration>
</Extension>

转载注明原文:c# – 当使用System.Net.Mail发送时,HTML4.0 SSRS报告在Outlook中被压缩.它可以修复吗? - 代码日志