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; } }} 注:多个收件人之间用逗号隔开