如何将网页作为电子邮件发送

本文关键字:电子邮件 网页 | 更新日期: 2023-09-27 18:04:13

我想发送电子邮件,它的内容应该是一个设计良好的aspx页面。但是aspx页面不应该作为超链接发送,它应该显示为消息内容?

如果有任何建议,请回复…

穆罕默德

如何将网页作为电子邮件发送

你可以用这样的web请求将页面的HTML转换成字符串:

WebRequest request;
string text;
        string url = "UrlToGet";
        request = (HttpWebRequest)
            WebRequest.Create(url);
        using (WebResponse response = request.GetResponse())
        {
            using (StreamReader reader =
                new StreamReader(response.GetResponseStream()))
            {
                text = reader.ReadToEnd();
            }
        }

aspx页面由服务器解释并呈现为Java-script和html。在这种情况下谁来做这件事?这是(目前)不可能的

你唯一能做的就是用html写你的信息——这样你就有了外观,但没有了功能。

hth

马里奥

你可以像这样…

private void Page_Load(object sender, System.EventArgs e)
{
    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.microsoft.com";
    mail.Body = HttpContent( url );
    mail.BodyFormat = MailFormat.Html;
    mail.UrlContentBase = url;
    SmtpMail.SmtpServer = "localhost";  //your real server goes here
    SmtpMail.Send( mail );
}
//screen scrape a page here
private string HttpContent( string url )
{
    WebRequest objRequest= System.Net.HttpWebRequest.Create(url);
    StreamReader sr =  new StreamReader( objRequest.GetResponse().GetResponseStream() );  
    string result = sr.ReadToEnd();
    sr.Close();
    return result;
}