把网页内容发送到邮件正文,mschart无法显示

三色 2014-05-30 06:35:19
VS2021,网页开发,C#

有一个web页,上面有许多mschart,网页正常在IE中打开正常。
mschart的ImageStorageMode属性=UseImageLocation
我有个需求,定期把该网页通过邮件系统发送给其他人。
邮件发送也是正常的,能正常收到。
问题是,网页中的mschart在邮件中打开无法显示。
我看了邮件中的mschart(显示为红X),src=http://www.***/ChartPic_000002.png?18a63f9c-a46a-48ac-9fb3-91228f58988a
http://www.***/是邮件系统服务器相关的地址。
而我在IE中打开该网页后,mschart(正常显示)的src=http://192.168.1.2:8080/ChartPic_000002.png?18a63f9c-a46a-48ac-9fb3-91228f58988a
http://192.168.1.2:8080是该网页所在在服务器。
我认为是通过邮件发送后,图片的服务器地址变了,所以无法显示,但是我不知道怎么设置。

另外,邮件发送代码如下
    private string GetStringByUrl(string strUrl)
{
WebRequest wrt = WebRequest.Create(strUrl);
WebResponse wrse = wrt.GetResponse();
Stream strM = wrse.GetResponseStream();
StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("gb2312"));//gb2312 utf-8
string strallstrm = SR.ReadToEnd();
return strallstrm;

}
public void SendEmail()
{
MailAddress FromAddress = new MailAddress("XXX@XXXXX.COM");
MailMessage mm = new MailMessage();
mm.From = FromAddress;
mm.BodyEncoding = System.Text.Encoding.UTF8;
mm.SubjectEncoding = System.Text.Encoding.UTF8;
//
mm.To.Clear();
mm.To.Add("aaa@XXXXX.com");
mm.Subject = "TEST";
mm.Body = GetStringByUrl("http://192.168.1.2:8080/EqpFaultAnalysis.aspx");//该网页中含mschart
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Timeout = 1000 * 60 * 15;
try
{
smtp.Send(mm);
}
catch (Exception ex)
{
String a;
a = ex.Message;
}
mm.Dispose();
}


请高手指点啊
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
三色 2014-06-03
  • 打赏
  • 举报
回复
放假归来,无人问津,伤心啊。 有没有懂的吱一声,没有就结贴了。
三色 2014-05-30
  • 打赏
  • 举报
回复
自己先顶一下,端午放假,坐等高手指点,节后搞定。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧