1.前端HTML使用了Jquery,大家如果做演示不要忘记引入Jquery的库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://HdhCmsTestw3.org/1999/xhtml" >
< head >
< title ></ title >
< script src = "jquery-1.8.0.min.js" type = "text/javascript" ></ script >
< script type = "text/javascript" >
function sendemail() {
var smtp = $('#txtSmtp').val();
var content = $('#txtContent').val();
var id="codetool">
2.后台代码是一般处理类 ashx,供前台异步调用
<%@ WebHandler Language= "C#" class = "Handler" %>
using System;
using System.Web;
using Utility;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/plain" ;
string smtp = HttpContext.Current.Request.Form[ "smtp" ].ToString();
string title = HttpContext.Current.Request.Form[ "title" ].ToString();
string content = HttpContext.Current.Request.Form[ "content" ].ToString();
string from = HttpContext.Current.Request.Form[ "from" ].ToString();
string to = HttpContext.Current.Request.Form[ "to" ].ToString();
try
{
EmailClient emailClient = new EmailClient(smtp); // localhost::25
emailClient.SendEmail(from, to, title, content);
System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
System.Collections.Generic.Dictionary< string , object > d = new System.Collections.Generic.Dictionary< string , object >();
d.Add( "message" , "success" );
d.Add( "success" , true );
context.Response.Write(jss.Serialize(d));
}
catch (Exception ex)
{
System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
System.Collections.Generic.Dictionary< string , object > d = new System.Collections.Generic.Dictionary< string , object >();
d.Add( "message" , ex.Message);
d.Add( "success" , true );
context.Response.Write(jss.Serialize(d));
}
}
public bool IsReusable {
get {
return false ;
}
}
}
3.最后是用到的SMTP辅助类
public class EmailClient
{
private string smtpServer;
private string senderAddress;
public EmailClient( string smtpServer)
{
this .smtpServer = smtpServer;
this .senderAddress = string .Empty;
}
public void SendEmail( string fromAddress, string toAddress, string subject, string messageBody)
{
SmtpClient smtp = new SmtpClient(smtpServer);
MailMessage email = new MailMessage();
email.From = new MailAddress(fromAddress);
email.To.Add(toAddress);
email.Subject = subject;
email.Body = messageBody;
smtp.Send(email);
}
}
dy("nrwz");
查看更多关于C#简单实现在网页上发邮件的案例的详细内容...