Inviare il contenuto html di una pagina web via email
<%@ Page Language="c#" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Web.Mail" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<script runat="server">
private void btnSend_Click(object sender, System.EventArgs e)
{
string message = "";
try
{
message = leggiHTML(txtURL.Text);
}
catch
{
lblResult.Text = "Inserisci un url";
}
if (Page.IsValid)
{
try
{
MailMessage Mailer = new MailMessage();
Mailer.From = txtFrom.Text;
Mailer.To = txtTo.Text;
Mailer.Subject = txtSubject.Text;
Mailer.Body = message;
Mailer.BodyFormat = System.Web.Mail.MailFormat.Html;
SmtpMail.Send(Mailer);
lblResult.Text = "Pagina inviata!";
}
catch
{
lblResult.Text = "Errore nell'invio";
}
}
}
private String leggiHTML(string url)
{
String result;
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()) )
{
result = sr.ReadToEnd();
sr.Close();
}
return result;
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<table cellSpacing="0" cellPadding="4">
<tr>
<td>URL:</td>
<td><asp:TextBox id="txtURL" runat="server" Width="200px">http://</asp:TextBox></td>
</tr>
<tr>
<td>Invia a:</td>
<td><asp:TextBox id="txtTo" runat="server" Width="200px"></asp:TextBox></td>
</tr>
<tr>
<td>La tua mail:</td>
<td><asp:TextBox id="txtFrom" runat="server" Width="200px"></asp:TextBox></td>
</tr>
<tr>
<td>Oggetto:</td>
<td><asp:TextBox id="txtSubject" runat="server" Width="200px"></asp:TextBox></td>
</tr>
</table>
<BR>
<asp:Button id="btnSend" runat="server" Text="Invia" OnClick="btnSend_Click"></asp:Button>
<asp:Label ID="lblResult" Runat="server" /></form>
</body>
</HTML>
Scarica il Codice...
Stampa la pagina