.Net写的Mail Util(C#)

前两天用.Net写了个发送mail的util,贴上来。刚接触C#,呵呵。。。。
.net 1.1的。.net 2.0里面关于Mail的API有所变动。



using  System;
using  System.Text;
using  System.IO;
using  System.Net;
using  System.Web.Mail;
namespace  Izhufu.utils{
  
/// <summary>
  /// Summary description for SMTPClient.
  /// SMTPClient is just used for SMTPMail
  /// </summary>
  
public class  SMTPClient {
    
private readonly string  DELIMITER= ";" ;
    
private  MailMessage message;
    
private string [] s_cc;
    
private string [] s_bcc;
    
private int  s_port;
    
private bool  s_needauth;
    
private string  s_username;
    
private string  s_password;
    
//constructor
    
public  SMTPClient ( string  from,  string [] to,  string  subject,  string  server) {
      message=
new  MailMessage();
      message.From=from;
      message.To=concatMailAddress(to, DELIMITER);
      message.Subject=subject;
      SmtpMail.SmtpServer=server;
    }

    
//setter for mail server port
    
public void  SetPort ( int  port){
      
this .s_port=port;
    }

    
//setter for mail priority, for example: SetPrioprity(MailPriority.HIGH)
    
public void  SetPriority (MailPriority priority){
      message.Priority=priority;
    }

    
//setter for mail server auth configuration
    
public void  SetNeedAuth ( bool  needauth){
      
this .s_needauth=needauth;
    }

    
//setter for mail server user name
    
public void  SetUserName ( string  username){
      
this .s_username=username;
    }

    
//setter for mail server password
    
public void  SetPassword ( string  pwd){
      
this .s_password=pwd;
    }

    
//setter for mail body format html?or text  for exampel: SetFormat(MailFormat.Text)
    
public void  SetFormat (MailFormat format){
      message.BodyFormat=format;
    }

    
//setter for mail body
    
public void  SetBody ( string  body){
      message.Body=body;
    }

    
//setter for mail body encoding, for example: SetEncoding(Encoding.ASCII
    
public void  SetEncoding (Encoding encoding){
      message.BodyEncoding=encoding;
    }

    
//add attachment to mail
    
public void  AddAttachment (MailAttachment attachement){
      message.Attachments.Add(attachement);
    }

    
//set cc 
    
public void  SetCC ( string [] cc){
      
this .s_cc=cc;
    }

    
//set bcc
    
public void  SetBcc ( string [] bcc){
      
this .s_bcc=bcc;
    }

    
//private method to concat the mail address with specified delimiter
    
private string  concatMailAddress ( string [] addresses,  string  delimiter){
      
if  (addresses== null return null ;
      
if  (addresses.Length== 1 return  addresses[ 0 ];
      
string  concated= "" ;
      
for  ( int  i= 0 ; i<addresses.Length- 1 ; i++) {
        concated+=addresses[i]+delimiter;
      }
      concated+=addresses[addresses.Length-
1 ];
      
return  concated;
    }

    
//send the mail, if this mail is sent successfully return true, otherwise return false
    
public bool  SendMail (){
      
if  (s_cc!= null  && s_cc.Length> 0 ) {
        message.Cc=concatMailAddress(s_cc, DELIMITER);
      }
      
if  (s_bcc!= null  && s_bcc.Length> 0 ) {
        concatMailAddress(s_bcc, DELIMITER);
      }
      
if  (s_needauth && s_username!= null  && s_password!= null ) {
        message.Fields.Add(
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" "1" );
        message.Fields.Add(
"http://schemas.microsoft.com/cdo/configuration/sendusername" , s_username);
        message.Fields.Add(
"http://schemas.microsoft.com/cdo/configuration/sendpassword" , s_password);
      }
      
try  {
        SmtpMail.Send(message);
      }
      
catch  {
        
return false ;
      }
      
return true ;
    }

  }

//End of SMTPClient
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值