发之前,把页面请求成HTML提取BODY部分发过去。
System.Web.Mail的本身不支持发送一个网页。 但是使用WebRequest类,你可以屏幕抓取网页,并通过生成的HTML字符串MailMessage类。 看下面的代码。
private void SendMail()
{
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
string url = "http://www.abc.com";
mail.Body = ConvertHttpContent(url);
mail.BodyFormat = MailFormat.Html;
mail.UrlContentBase = url;
SmtpMail.SmtpServer = "localhost"; //你的邮件服务器
SmtpMail.Send(mail);
}
private string ConvertHttpContent(string url)
{
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream());
string result = sr.ReadToEnd();
sr.Close();
return result;
}