.Net写的Mail Util(C#)

    技术2022-05-11  15

    前两天用.Net写了个发送mail的util,贴上来。刚接触C#,呵呵。。。。 .net 1.1的。.net 2.0里面关于Mail的API有所变动。 .code { font-size: 12; font-family: "lucida console", sans-serif; background-color: #E1E1E1; } .com { color: #00DD00; } .nlit { color: #008800; } .slit { color: #880000; } .kw { color: #0000AA; } .norm { color: #000000; } .pp { color: #888800; } 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)