首页 | 麦客学吧 | 视频教程 | FLASH小游戏 | 素材下载 | 常用工具
您当前的位置:首页 > 程序开发 > C# > 正文

C#实现SMTP服务器,使用TCP命令实现,功能比较完善

出处:麦客学吧 [2007-6-28 18:05:59] 作者:佚名 点击数:425

讨论交流:http://x8.maicoo.com/team/8853.html

using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Collections;

namespace SkyDev.Web.Mail
{
 public enum MailFormat{Text,HTML};
 public enum MailPriority{Low=1,Normal=3,High=5};

 #region Class mailAttachments
 public class MailAttachments
 {
  private const int MaxAttachmentNum=10;
  private IList _Attachments;

  public MailAttachments()
  {
   _Attachments=new ArrayList();
  }

  public string this[int index]
  {
   get { return (string)_Attachments[index];}
  }
  /// <summary>
  /// 添加邮件附件
  /// </summary>
  /// <param name="FilePath">附件的绝对路径</param>
  public void Add(params string[] filePath)
  {
   if(filePath==null)
   {
    throw(new ArgumentNullException("非法的附件"));
   }
   else
   {   
    for(int i=0;i<filePath.Length;i++)
    {
     Add(filePath[i]);
    }
   }
  }

  /// <summary>
  /// 添加一个附件,当指定的附件不存在时,忽略该附件,不产生异常。
  /// </summary>
  /// <param name="filePath">附件的绝对路径</param>
  public void Add(string  filePath)
  {
   //当附件存在时才加入,否则忽略
   if (System.IO.File.Exists(filePath))
   {
    if (_Attachments.Count<MaxAttachmentNum)
    {
     _Attachments.Add(filePath);
    }
   }
  }

  public void Clear()//清除所有附件
  {
   _Attachments.Clear();
  }

  public int Count//获取附件个数
  {
   get { return _Attachments.Count;}
  }

 }
 #endregion//end Class mailAttachments

 

 #region Class MailMessage
 /// <summary>
 /// MailMessage 表示SMTP要发送的一封邮件的消息。
 /// </summary>
 public class MailMessage
 {
  private const int MaxRecipientNum=10;
  public MailMessage()
  {  
   _Recipients=new ArrayList();//收件人列表
   _Attachments=new MailAttachments();//附件
   _BodyFormat=MailFormat.Text;//缺省的邮件格式为Text
   _Priority=MailPriority.Normal;
   _Charset="GB2312";
  }

  /// <summary>
  /// 设定语言代码,默认设定为GB2312,如不需要可设置为""
  /// </summary>
  public string Charset
  {
   get { return _Charset;}
   set { _Charset=value;}
  }

  public string From
  {
   get{ return _From;}
   set { _From=value;}
  }

  public string FromName
  {
   get { return _FromName;}
   set { _FromName=value;}
  }
  public string Body
  {
   get { return _Body;}
   set { _Body=value;}
  }

  public string Subject
  {
   get { return _Subject;}
   set { _Subject=value;}
  }

  public MailAttachments Attachments
  {
   get {return _Attachments;}
   set { _Attachments=value;}
  }

  public MailPriority Priority
  {
   get { return _Priority;}
   set { _Priority=value;}
  }

  public IList Recipients
  {
   get { return _Recipients;}
  }
  /// <summary&g

【责任编辑: lanier

素材中心
麦客酷站赏析频道

精彩图文推荐

关于本站 - 联系站长 - 广告服务 - 合作伙伴 - 网站地图 - 版权声明 - 报告错误 - 收藏本站 | Http://www.MaiCoo.com

Copyright © 2005 - 2008 MaiCoo.com All Rights Reserved

违法和不良信息举报中心 本站服务器空间和带宽由雷克斯网络提供赞助
浙ICP备06017818号