此类页面的发送要用htmlWriter类来解决。
如:一个asp.net页面只有一个Datagrid。现在要把Datagrid显示的信息以邮件正文方式发送出去。
在此页面的后台页面Page_Load函数中添加:
//
Mail
MailMessage mailObj = new MailMessage();
StringWriter sWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(sWriter); // 以这个流类作为参数来进 // 行传输数据。
DataGrid1.RenderControl(htmlWriter);
mailObj.From = " ** " ; // 发信人的邮件地址
mailObj.To = " ** " ; // 收信人的邮件地址
// mailObj.Bcc="xxxx@xxx.com"; // 收取密件副件人的地址
mailObj.Subject = " FEOL Daily Report~ " ; // 邮件的主题
mailObj.Body =sWriter.ToString(); //将流类的内容作为邮件的正文部分
mailObj.BodyFormat = MailFormat.Html; // 格式化为html格式
string attaches = @" f:\KPI\FEOLScrap.xls " ; // 附件
MailAttachment myAttachment = new MailAttachment(attaches); // 这里以附件作为参数
mailObj.Attachments.Add(myAttachment);
try
{
SmtpMail.SmtpServer = " ** " ;
SmtpMail.Send(mailObj); // 调用SmtpMail类来发送邮件
}
catch (Exception pp)
{
Response.Write(pp.Message);
}
MailMessage mailObj = new MailMessage();
StringWriter sWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(sWriter); // 以这个流类作为参数来进 // 行传输数据。
DataGrid1.RenderControl(htmlWriter);
mailObj.From = " ** " ; // 发信人的邮件地址
mailObj.To = " ** " ; // 收信人的邮件地址
// mailObj.Bcc="xxxx@xxx.com"; // 收取密件副件人的地址
mailObj.Subject = " FEOL Daily Report~ " ; // 邮件的主题
mailObj.Body =sWriter.ToString(); //将流类的内容作为邮件的正文部分
mailObj.BodyFormat = MailFormat.Html; // 格式化为html格式
string attaches = @" f:\KPI\FEOLScrap.xls " ; // 附件
MailAttachment myAttachment = new MailAttachment(attaches); // 这里以附件作为参数
mailObj.Attachments.Add(myAttachment);
try
{
SmtpMail.SmtpServer = " ** " ;
SmtpMail.Send(mailObj); // 调用SmtpMail类来发送邮件
}
catch (Exception pp)
{
Response.Write(pp.Message);
}