C#:来自ssrs报告的html正文邮件中过去的html代码

C#:来自ssrs报告的html正文邮件中过去的html代码,c#,html,email,reporting-services,C#,Html,Email,Reporting Services,大家好 我正在尝试在ssrs中创建一个报告,并将其发送给客户。 我可以在邮件的html正文中获取html代码,但是当我显示邮件时,整个邮件的大小都会调整。它看起来很小 我用Outlook对它进行了测试,它看起来很糟糕,但当我直接将它从Outlook发送到gmail时,一切看起来都很好 问题是99%的客户使用outlook…您必须确保启用允许电子邮件客户端中使用脚本的选项。渲染脚本调整图像和其他布局细节的大小。如果outlook中阻止了脚本,则您必须自己调整图像大小,或者最好使用静态大小的图像:(

大家好

我正在尝试在ssrs中创建一个报告,并将其发送给客户。 我可以在邮件的html正文中获取html代码,但是当我显示邮件时,整个邮件的大小都会调整。它看起来很小

我用Outlook对它进行了测试,它看起来很糟糕,但当我直接将它从Outlook发送到gmail时,一切看起来都很好


问题是99%的客户使用outlook…

您必须确保启用允许电子邮件客户端中使用脚本的选项。渲染脚本调整图像和其他布局细节的大小。如果outlook中阻止了脚本,则您必须自己调整图像大小,或者最好使用静态大小的图像:(

HTML从何而来?从我的ssrs报告中,我将其导出到HTML4.0,然后在邮件中插入该代码。您无法获得任何旧的HTML,并期望它在邮件客户端呈现时看起来很好。没有任何通用的标准来呈现HTML电子邮件,就像HTML和web浏览器一样。例如,Outlook使用Microsoft Word引擎。我会完全重新考虑你的方法。但我只是希望我的邮件中有我的报告文本。因为我可以使用报告翻译等。。。
Dim getHTMLTask As Task(Of Byte()) = 
Application.HubProxy.Invoke(Of Byte())("RenderReportFromSqlReports", "HTML4.0", "AllocationMail", parameters)

Dim HTMLBytes As Byte() = getHTMLTask.Result
Body = System.Text.Encoding.UTF8.GetString(HTMLBytes, 0, HTMLBytes.Length)

OutlookMailHelper.CreateOutlookEmail("email@email.com", "Test", body,"")