WEB开发网
开发学院软件开发C语言 C#开发基于ESMTP协议的邮件发送系统经验总结 阅读

C#开发基于ESMTP协议的邮件发送系统经验总结

 2010-09-30 21:02:02 来源:WEB开发网   
核心提示: 一旦获得正常的响应后,就一步步向服务器发送请求命令或者数据来完成其他操作的,C#开发基于ESMTP协议的邮件发送系统经验总结(2),发送命令的函数就是写入网络流的方式,通过下面的命令实现的///<summary>///发送SMTP命令///</summary>protec

一旦获得正常的响应后,就一步步向服务器发送请求命令或者数据来完成其他操作的。

发送命令的函数就是写入网络流的方式,通过下面的命令实现的

        /// <summary>
        /// 发送SMTP命令
        /// </summary>    
        protected bool SendCommand(string Command)
        {
            byte[] WriteBuffer;
            if (Command == null || Command.Trim() == "")
            {
                return true;
            }
            //logs+=Command;
            WriteBuffer = Encoding.Default.GetBytes(Command);
            try
            {
                ns.Write(WriteBuffer, 0, WriteBuffer.Length);
            }
            catch
            {
                errmsg = "网络连接错误";
                return false;
            }
            return true;
        }

ESMTP的特点就是需要验证用户,一旦验证用户通过后,用户就可以通过发送各类命令或者数据了,下面简单列出几个命令格式,其他的大家可以查询相关资料进行完成。

            //发件人信息
            SendBufferstr = "MAIL FROM:<" + From + ">" + enter;
            if (!Dialog(SendBufferstr, "发件人地址错误,或不能为空"))
                return false;
            //收件人列表
            SendBuffer.Clear();
            foreach (String item in Recipient)
            {
                SendBuffer.Add("RCPT TO:<" + item + ">" + enter);
                RecipientName = item;//这里其实只能支持一个收件人
            }
            if (!Dialog(SendBuffer, "收件人地址有误"))
                return false;

使用这个发送邮件,连最难对付的QQ邮箱也飞快的接收到了我的邮件了,不过大家不要滥发邮件,毕竟“实名制”的方式就是要对后果负责的。呵呵。

上一页  1 2 

Tags:开发 基于 ESMTP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接