qunFa.aspx文件的代码: <% ... @ Page language="c#" Codebehind="qunFa.aspx.cs" AutoEventWireup="false" Inherits="liuwei.hanmail.qunFa" %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < title > qunFa </ title > < meta content ="Microsoft Visual Studio .NET 7.1" name =GENERATOR > < meta content =C# name =CODE_LANGUAGE > < meta content =JavaScript name =vs_defaultClientScript > < meta content =http://schemas.microsoft.com/intellisense/ie5 name =vs_targetSchema > </ HEAD > < body MS_POSITIONING ="GridLayout" > < form id =Form1 method =post runat ="server" > < asp:ListBox id ="ListBoxMsg" style ="Z-INDEX: 118; LEFT: 136px; POSITION: absolute; TOP: 344px" runat ="server" Width ="440px" Height ="184px" ></ asp:ListBox > < asp:Label id ="Label11" style ="Z-INDEX: 108; LEFT: 120px; POSITION: absolute; TOP: 320px" runat ="server" > 信息查看 </ asp:Label > < asp:Label id ="Label10" style ="Z-INDEX: 117; LEFT: 112px; POSITION: absolute; TOP: 16px" runat ="server" > SMTP服务器地址 </ asp:Label > < asp:Label id ="Label9" style ="Z-INDEX: 100; LEFT: 128px; POSITION: absolute; TOP: 48px" runat ="server" > 用户名 </ asp:Label > < asp:TextBox id ="TextBoxSrv" style ="Z-INDEX: 101; LEFT: 264px; POSITION: absolute; TOP: 24px" runat ="server" Width ="240px" ></ asp:TextBox > < asp:Label id ="Label8" style ="Z-INDEX: 102; LEFT: 360px; POSITION: absolute; TOP: 48px" runat ="server" > 口令 </ asp:Label > < asp:TextBox id ="TextBoxUser" style ="Z-INDEX: 103; LEFT: 192px; POSITION: absolute; TOP: 48px" runat ="server" Width ="152px" ></ asp:TextBox > < asp:TextBox id ="TextBoxPwd" style ="Z-INDEX: 104; LEFT: 416px; POSITION: absolute; TOP: 48px" runat ="server" Width ="168px" TextMode ="Password" ></ asp:TextBox > < asp:Label id ="Label4" style ="Z-INDEX: 105; LEFT: 128px; POSITION: absolute; TOP: 80px" runat ="server" > 发信人 </ asp:Label > < asp:Label id ="Label5" style ="Z-INDEX: 106; LEFT: 360px; POSITION: absolute; TOP: 80px" runat ="server" > 收信人 </ asp:Label > < asp:TextBox id ="TextBoxSend" style ="Z-INDEX: 107; LEFT: 192px; POSITION: absolute; TOP: 80px" runat ="server" ></ asp:TextBox > < asp:TextBox id ="TextBoxRev" style ="Z-INDEX: 109; LEFT: 416px; POSITION: absolute; TOP: 80px" runat ="server" Width ="168px" ></ asp:TextBox > < asp:Label id ="Label6" style ="Z-INDEX: 110; LEFT: 128px; POSITION: absolute; TOP: 112px" runat ="server" > 主题 </ asp:Label > < asp:TextBox id ="TextBoxSubject" style ="Z-INDEX: 112; LEFT: 192px; POSITION: absolute; TOP: 104px" runat ="server" Width ="392px" ></ asp:TextBox > < asp:TextBox id ="TextBoxMailText" style ="Z-INDEX: 113; LEFT: 144px; POSITION: absolute; TOP: 160px" runat ="server" Width ="440px" TextMode ="MultiLine" Height ="120px" ></ asp:TextBox > < asp:Label id ="Label7" style ="Z-INDEX: 114; LEFT: 128px; POSITION: absolute; TOP: 136px" runat ="server" > 邮件内容 </ asp:Label > < asp:Button id ="ButtonSend" style ="Z-INDEX: 115; LEFT: 464px; POSITION: absolute; TOP: 296px" runat ="server" Text ="发送" ></ asp:Button > < asp:Label id ="LabelErr" style ="Z-INDEX: 116; LEFT: 696px; POSITION: absolute; TOP: 136px" runat ="server" ></ asp:Label ></ FORM > </ body > </ HTML > qunFa.aspx.cs的代码: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; using System.Net; using System.Net.Sockets; namespace Sendmail ... { /**//// <summary> /// qunFa 的摘要说明。 /// </summary> public class qunFa : System.Web.UI.Page ...{ protected System.Web.UI.WebControls.Label LabelErr; protected System.Web.UI.WebControls.Button ButtonSend; protected System.Web.UI.WebControls.Label Label7; protected System.Web.UI.WebControls.TextBox TextBoxMailText; protected System.Web.UI.WebControls.TextBox TextBoxSubject; protected System.Web.UI.WebControls.Label Label6; protected System.Web.UI.WebControls.TextBox TextBoxRev; protected System.Web.UI.WebControls.TextBox TextBoxSend; protected System.Web.UI.WebControls.Label Label5; protected System.Web.UI.WebControls.Label Label4; protected System.Web.UI.WebControls.TextBox TextBoxPwd; protected System.Web.UI.WebControls.TextBox TextBoxUser; protected System.Web.UI.WebControls.Label Label8; protected System.Web.UI.WebControls.TextBox TextBoxSrv; protected System.Web.UI.WebControls.Label Label9; protected System.Web.UI.WebControls.Label Label11; protected System.Web.UI.WebControls.ListBox ListBoxMsg; protected System.Web.UI.WebControls.Label Label10; TcpClient smtpSrv; NetworkStream netStrm; string CRLF=" "; private void Page_Load(object sender, System.EventArgs e) ...{ } Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) ...{ // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() ...{ this.ButtonSend.Click += new System.EventHandler(this.ButtonSend_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void ButtonSend_Click(object sender, System.EventArgs e) ...{ this.ListBoxMsg.Items.Clear(); string[] userList=this.TextBoxRev.Text.Split(','); for(int i=0;i<userList.Length;i++) Qun(userList[i]); } public void Qun(string userList) ...{ try ...{ string data; smtpSrv=new TcpClient(this.TextBoxSrv.Text,25); netStrm=smtpSrv.GetStream(); StreamReader rdStrm=new StreamReader(smtpSrv.GetStream()); this.WriteStream("EHLO Local"); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); this.WriteStream("AUTH LOGIN"); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); data=this.TextBoxUser.Text; data=AuthStream(data); this.WriteStream(data); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); data=this.TextBoxPwd.Text; data=AuthStream(data); this.WriteStream(data); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); data="MAIL FROM:<"+this.TextBoxSend.Text+">"; this.WriteStream(data); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); data="RCPT TO:<"+userList+">"; this.WriteStream(data); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); this.WriteStream("DATA"); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); data="Date:"+DateTime.Now; this.WriteStream(data); data="From:"+this.TextBoxSend.Text; this.WriteStream(data); data="TO:"+userList; this.WriteStream(data); data="SUBJECT:"+this.TextBoxSubject.Text; this.WriteStream(data); data="Reply-TO:"+this.TextBoxSend.Text; this.WriteStream(data); this.WriteStream(""); this.WriteStream(this.TextBoxMailText.Text); this.WriteStream("."); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); this.WriteStream("QUIT"); this.ListBoxMsg.Items.Add(rdStrm.ReadLine()); netStrm.Close(); rdStrm.Close(); this.LabelErr.Text="发送成功!"; } catch(Exception ex) ...{ this.LabelErr.Text=ex.ToString(); } } private void WriteStream(string strCmd) ...{ strCmd+=CRLF; byte[] bw=System.Text.Encoding.Default.GetBytes(strCmd); netStrm.Write(bw,0,bw.Length); } private string AuthStream(string strCmd) ...{ try ...{ byte[] by=System.Text.Encoding.Default.GetBytes(strCmd); strCmd=Convert.ToBase64String(by); } catch(Exception err) ...{ return err.ToString(); } return strCmd; } }} 注:多个收件人之间用逗号隔开