创建基于ASP.NET的SMTP邮件系统
2009-05-12 22:36:10来源:未知 阅读 ()
您可能习惯了在ASP程序中使用JMAIL组件收发邮件,Asp.net在System.Web.Mail名称空间中有一个发送email的内建类,但这仅是cdosys的一个假象。开发者能使用一个替代的它smtp邮件服务。在这篇文章里面,我将会展示如何创建一个用于asp.net的功能齐全的smtp邮件服务。
首先,我们创建一个继承命名空间System.Net.Sockets的TcpClient类的类。TcpClient类提供简单的方法用于连接,发送,接收网络的数据流。GetStream方法用于创建一个网络流(NetworkStream)。读和写网络流(NetworkStream)的方法用于发送数据给远程主机和从远程主机接收网络流。
以下为引用的内容: public class ClientConnection : TcpClient { private NetworkStream _NetworkStream = null; private StreamReader _StreamReader = null; private StreamWriter _StreamWriter = null; public void Initialise() { _NetworkStream = this.GetStream(); _StreamReader = new StreamReader(_NetworkStream, System.Text.Encoding.Default, false, this.ReceiveBufferSize); _StreamWriter = new StreamWriter(_NetworkStream, System.Text.Encoding.Default, this.SendBufferSize); } public void Send(string s) { _StreamWriter.WriteLine(s); _StreamWriter.Flush(); } public string Read() { return _StreamReader.ReadLine(); } } |
接下来,我们创建发送邮件出去的类,这个类有几个属性去设置关于被发送的邮件的一些信息。
以下为引用的内容: public string MailServer = "127.0.0.1" ; public string From = "" ; public string To = "" ; public string Body = "" ; public string Subject = "" ; |
和一个发送邮件的方法。这个方法将会用服务器名和它的端口去创建一个连接。指令可以被发送到远程主机。
以下为引用的内容: public void Send() { tcp = new ClientConnection(); tcp.Connect(MailServer,25); tcp.Initialise(); SendCommandToServer("HELO " + System.Net.Dns.GetHostName()); SendCommandToServer("MAIL FROM: " + From + "\r\n"); SendCommandToServer("RCPT T " + To + "\r\n"); string StrHeaders = ""; StrHeaders += "From: " + From + "\r\n"; StrHeaders += "T " + To + "\r\n"; StrHeaders += "Subject: " + Subject + "\r\n"; StrHeaders += "Content-type: text/plain; charset=\"ISO-8859-1\"" + "\r\n"; SendCommandToServer("DATA\r\n" + StrHeaders); SendCommandToServer(Body + "\r\n.\r\n"); SendCommandToServer("QUIT\r\n"); } |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MVC数据验证详解 2020-03-14
- 如何创建和读取xml文件 2020-03-10
- 如何创建及使用asp.net多选项卡页面 2019-09-17
- U9创建BE组件 2019-07-24
- 分享基于EF6、Unitwork、Autofac的Repository模式设计 2019-07-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash