注意(要确定服务器的SMTP Server 的端口号)
前端:
smtp: | |
from addr: | |
to addr: | |
title: | |
content: | |
后台: 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.Dictionaryd = new System.Collections.Generic.Dictionary (); 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 d = new System.Collections.Generic.Dictionary (); d.Add("message", ex.Message); d.Add("success", true); context.Response.Write(jss.Serialize(d)); } } public bool IsReusable { get { return false; } }}
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); }}