C#메일 발송

12881 단어 메일 보내기
최근 프로젝트의 백엔드 관리 부분에서 메일 그룹 발송 모듈을 개발하여 핵심 메일 발송 코드를 마크로 하였다.SmtpClient 객체를 사용하여 C#에서 SMTP를 통해 메시지를 전송하는 예는 다음과 같습니다.
   1: public static bool Send(string host, string from, string fromPassword, string fromDisplayName,
   2:            List<ToMailAddress> toMailAddress, string subject, string body, out string desc, params string[] attachmentFileNames)
   3:        {
   4:            if (toMailAddress == null ||
   5:                toMailAddress.Count == 0)
   6:            {
   7:                desc = "         ";
   8:                return false;
   9:            }
  10:            try
  11:            {
  12:  
  13:               //   SmtpClient     ,          host  (SMTP      ),SMTP      Internet       。     Host         。           SmtpClient smtpClient=new SmtpClient();smtpClient.Host=host;
  14:                SmtpClient smtpClient = new SmtpClient(host);
  15:  
  16:               //     Send        ,     ,    100 000(100  )
  17:                smtpClient.Timeout = 60000;
  18:  
  19:               //   SMTP                           。UseDefaultCredentials     true,SmtpClient                       (       )。UseDefaultCredentials      false,           Credentials            
  20:               //   UseDefaultCredentials       false        Credentials   ,               。
  21:                smtpClient.UseDefaultCredentials = true;
  22:  
  23:               //                 。 
  24:                smtpClient.Credentials = new NetworkCredential(from, fromPassword);
  25:  
  26:               //             。 
  27:                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
  28:  
  29:               //        SMTP      。
  30:                //smtpClient.Port = 25;
  31:  
  32:                //   SmtpClient            (SSL)     
  33:                //smtpClient.EnableSsl = true;
  34:                
  35:                //MailMessage             SmtpClient      SMTP             
  36:                MailMessage message = new MailMessage();
  37:  
  38:                //          
  39:                message.SubjectEncoding = Encoding.UTF8;
  40:  
  41:                //          
  42:                message.BodyEncoding = Encoding.UTF8;
  43:                //message.From = new MailAddress(from, fromDisplayName, Encoding.UTF8); //.net4      
  44:  
  45:                //   
  46:                message.From = new MailAddress(from);
  47:                //message.Sender = new MailAddress(from, fromDisplayName);
  48:  
  49:                //          Html     。        Html   ,   true;    false。      false。 
  50:                message.IsBodyHtml = true;
  51:  
  52:               //  
  53:                message.Subject = subject;
  54:  
  55:               //  
  56:                message.Body = body;
  57:  
  58:               //            
  59:                message.Priority = MailPriority.Normal;
  60:  
  61:              //         
  62:                SetToMailAddress(toMailAddress, message);
  63:               
  64:              //      
  65:               // SetAttachments(attachmentFileNames, message);
  66:              
  67:              //      
  68:                smtpClient.Send(message);
  69:  
  70:              //      
  71:                //smtpClient.SendAsync(message, null);
  72:         
  73:             //   ,  smtpClient  
  74:                smtpClient.Dispose();
  75:                desc = "    ";
  76:                return true;
  77:            }
  78:            catch (Exception ex)
  79:            {
  80:                desc = ex.Message;
  81:                return false;
  82:            }
  83:        }
  84:  
  85:        private static void SetToMailAddress(List<ToMailAddress> toMailAddress, MailMessage message)
  86:        {
  87:            toMailAddress.ForEach(mailAddr =>
  88:                message.To.Add(new MailAddress(mailAddr.Address, mailAddr.DisplayName, Encoding.Default)));
  89:  
  90:        }
  91:  

좋은 웹페이지 즐겨찾기