普通的邮件, 用System.Net.Mail 类 或 System.Web.Mail 类 处理即可, 但是Exchange Server 环境下, 这两个类起不了作用-------至少目前我看到的情况如此.

整个过程如下:

1. 先添加COM 引用 "Microsoft CDO for Windows 2000 Library" .
2. 发送邮件的代码:
 

CDO.Message msg = new CDO.Message();

        
string passWord="passWord";

        
string from = "my@domain.com";

        
string server = "192.168.0.0";


        msg.From 
= from;
        msg.To 
= from;
        msg.Subject 
= "test mail";
        msg.TextBody 
= "test.";

 

        CDO.IConfiguration iConfig 
= msg.Configuration;

        ADODB.Fields fields 
= iConfig.Fields;

 

        fields[
"http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;

        fields[
"http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value = from;

        fields[
"http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value = passWord;

        fields[
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value = 1;

        fields[
"http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value = server;

 

        fields.Update();

 

        
try

        
{

            msg.Send();

            msg 
= null;

        }


        
catch (Exception ex)

        
{

            
throw;

        }




CDO.Message   CMail   =   new   CDO.Message();  
  //设置configuration对象信息  
  CDO.Configuration   cf   =   new   CDO.ConfigurationClass();  
  //设置sendusing属性  
  cf.Fields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value   =   CDO.CdoSendUsing.cdoSendUsingPort;  
  cf.Fields["http://schemas.microsoft.com/cdo/configuration/smtpserverport"].Value   =   25;  
  cf.Fields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value   =   clsStaticVar.ExchangeIP;  
  cf.Fields.Update();  
  CMail.Configuration   =   cf;  
  //添加邮件回持  
  if   (chkMDN.Checked)  
  CMail.MDNRequested   =   true;  
  //添加送达回执  
  if   (chkSended.Checked)  
  CMail.DSNOptions   =   CDO.CdoDSNOptions.cdoDSNSuccessFailOrDelay;  
  //设置编码  
  CMail.BodyPart.Charset   =   CDO.CdoCharset.cdoGB2312;  
  //发送人  
  CMail.From   =   csm.userid   +   "@"   +   clsStaticVar.MailAddr;  
  //接收人  
  CMail.To   =   txtSendTo.Value;  
  //抄送  
  CMail.CC   =   txtCc.Value;  
  //秘送  
  CMail.BCC   =   txtMcc.Value;  
  //主题  
  if   (txtTitle.Value.Trim()   !=   "")  
  CMail.Subject   =   txtTitle.Value;  
  else  
  CMail.Subject   =   "(无标题)";  
  //CDO.IBodyPart   bp;  
  //正文  
  CMail.HTMLBody   =   Server.HtmlDecode(HTMLBody.Value);  
  //优先级  
  CMail.Fields["urn:schemas:httpmail:importance"].Value   =   ddlLevel.SelectedItem.Value;  
  CMail.Fields.Update();  
  //加附件  
  System.IO.DirectoryInfo   di   =   new   DirectoryInfo(this.m_attrpath);  
  System.IO.FileInfo[]   arr_fi   =   di.GetFiles();  
  for   (int   i   =   0;   i   <   arr_fi.Length;   i++)  
  {  
  //防止加附件出错而中断  
  try  
  {  
  CMail.AddAttachment(arr_fi[i].FullName,   "",   "");  
  }  
  catch{}  
  }  
  CMail.Send();
posted on 2007-10-19 13:21  执着追梦人  阅读(711)  评论(0)    收藏  举报