C\#SMTP 와 결합 하여 메 일 경보 알림 의 실현 예

10192 단어 C#SMTP메 일 경보
앞 에 쓰다
C\#는 마이크로소프트 가 내 놓 은 일반적인 프로 그래 밍 언어 로 PC 소프트웨어,사이트(빌 림http://ASP.NET와 앱(Windows Phone 기반)을 개발 할 수 있 을 뿐만 아니 라 게임 스 크 립 트 로 게임 논 리 를 작성 할 수 있다.SMTP 는 신뢰 할 수 있 고 효과 적 인 전자메일 전송 을 제공 하 는 프로 토 콜 로 FTP 파일 전송 서비스 에 구 축 된 전자메일 서비스 로 주로 시스템 간 의 전자메일 정보 전달 에 사용 되 고 편지 와 관련 된 통 지 를 제공한다.오늘 은 주로 C\#SMTP 와 결합 하여 신고 통 지 를 실현 하 는 방법 을 여러분 과 공유 합 니 다. 
1 전체적인 사고방식
C\#SMTP 와 결합 하여 메 일 경고 통 지 를 실현 하고 분석 을 통 해 우 리 는 다음 과 같은 두 가지 문 제 를 해결 해 야 한다.
  • 첫 번 째 문 제 는 신고 검 사 를 어떻게 하 느 냐 하 는 것 이다
  • 두 번 째 문 제 는 메 일의 발송 을 어떻게 실현 하 느 냐 하 는 것 이다
  • 다음 에 우 리 는 주로 이 두 가지 점 에 대해 상세 하 게 분석한다.
    2 경보 검 측
    1.실제 응용 에서 경 보 는 두 가지 로 나 뉘 는데 하 나 는 분 산 량 경보(즉,스위치 량 경보)이 고 다른 하 나 는 조건 경보(즉 데이터 경보)이 며 스위치 량 에 대한 경 보 는 상승 연 검 측 과 하강 연 검 측 으로 나 뉜 다.조건 부 경보 에 대해 보통 높 은 경보 검 측,높 은 경보 검 측,낮은 경보 검 측,낮은 경보 검 측 이 존재 한다.
    2.서로 다른 신고 에 대해 검 측 방식 은 모두 다 를 수 있 지만 검 측 원 리 는 서로 통한다.주로 신고 가 발생 하 는 그 순간 을 포착 해 야 한다.예 를 들 어 분 산 된 신고 의 상승 선 은 바로 이 변수 값 이 False 에서 True 까지 변화 하 는 것 을 검 측 해 야 한다.조건 에 대한 신고 의 높 은 한도 이다.바로 캡 처 변수의 실제 값 이 경보 의 높 은 한도 값 보다 크다 는 것 이다.따라서 경보 검 측은 단독으로 하나의 라인 을 열 어 실시 간 검 사 를 해 야 경보 정 보 를 빠 뜨리 지 않 고 경보 검 측의 정밀 도 는 경보 검 측 량 의 크기 와 컴퓨터 성능 자체 에 의 해 결정 된다.
    3.경 보 는 설정 정보 와 결합 하여 이 루어 져 야 하기 때문에 코드 로 직접 보 여줄 수 없다.아래 는 상승 에 따라 경보 와 높 은 제한 경 보 를 결합 시 켜 전체 절 차 를 정리한다.다음 그림 과 같다.

    3 메 일 클래스 작성
    C\#의 경우 메 일 알림 을 실현 하 는 것 이 편리 하고 관련 라 이브 러 리 를 직접 호출 하여 실현 할 수 있 습 니 다.여기 서 우 리 는 주로 라 이브 러 리 를 봉인 하고 형식 은 EmailHelper 류 입 니 다.그 다음 에 이 EmailHelper 류 를 호출 하면 됩 니 다.EmailHelper 류 에서 먼저 메 일 발송 에 사용 할 속성 을 만 들 었 습 니 다.이 는 발송 자,수신 자,제목,내용,보 낸 사람의 비밀번호 등 정 보 는 구체 적 으로 다음 과 같다.
    
    /// <summary>
     ///    
     /// </summary>
     public string mailFrom { get; set; }
    
     /// <summary>
     ///    
     /// </summary>
     public string[] mailToArray { get; set; }
    
     /// <summary>
     ///   
     /// </summary>
     public string[] mailCcArray { get; set; }
    
     /// <summary>
     ///   
     /// </summary>
     public string mailSubject { get; set; }
    
     /// <summary>
     ///   
     /// </summary>
     public string mailBody { get; set; }
    
     /// <summary>
     ///      
     /// </summary>
     public string mailPwd { get; set; }
    
     /// <summary>
     /// SMTP     
     /// </summary>
     public string host { get; set; }
    
     /// <summary>
     ///      html  
     /// </summary>
     public bool isbodyHtml { get; set; }
    
     /// <summary>
     ///   
     /// </summary>
     public string[] attachmentsPath { get; set; }
    속성 생 성 이 완료 되면 메 일 을 보 내 는 방법 을 작성 합 니 다.메 일 보 내 는 방법 은 논리 적 으로 정상 적 인 메 일 보 내 는 것 과 일치 합 니 다.절 차 는 다음 과 같 습 니 다.
    1.지정 한 메 일 주소 로 MailAddress 인 스 턴 스 초기 화
    2.수신 자 주소 집합 에 이메일 주소 추가
    3.수신 자 주소 집합 에 이메일 주소 추가
    4.보 낸 사람 정보 설정
    5.첨부 파일 이 있 는 경우 첨부 파일 추가
    6.보 낸 사람의 메 일 주소 와 비밀 번 호 를 지정 하여 보 낸 사람의 신분 을 검증 합 니 다.
    7.SMTP 메 일 서버 설정
    8.메 일 을 SMTP 메 일 서버 에 전송
    구체 적 인 코드 는 다음 과 같다.
    
    ・・・
    
    /// <summary>
     ///     
     /// </summary>
     /// <returns></returns>
     public bool Send()
     {
      //            MailAddress  
      MailAddress maddr = new MailAddress(mailFrom);
      //   MailMessage  
      MailMessage myMail = new MailMessage();
    
    
      //              
      if (mailToArray != null)
      {
       for (int i = 0; i < mailToArray.Length; i++)
       {
        myMail.To.Add(mailToArray[i].ToString());
       }
      }
    
      //                
      if (mailCcArray != null)
      {
       for (int i = 0; i < mailCcArray.Length; i++)
       {
        myMail.CC.Add(mailCcArray[i].ToString());
       }
      }
      //     
      myMail.From = maddr;
    
      //       
      myMail.Subject = mailSubject;
    
      //              
      myMail.SubjectEncoding = Encoding.UTF8;
    
      //      
      myMail.Body = mailBody;
    
      //         
      myMail.BodyEncoding = Encoding.Default;
    
      myMail.Priority = MailPriority.High;
    
      myMail.IsBodyHtml = isbodyHtml;
    
      //            
      try
      {
       if (attachmentsPath != null && attachmentsPath.Length > 0)
       {
        Attachment attachFile = null;
        foreach (string path in attachmentsPath)
        {
         attachFile = new Attachment(path);
         myMail.Attachments.Add(attachFile);
        }
       }
      }
      catch (Exception err)
      {
       throw new Exception("         :" + err);
      }
    
      SmtpClient smtp = new SmtpClient();
      smtp.EnableSsl = true;
    
      //                     
      smtp.Credentials = new System.Net.NetworkCredential(mailFrom, mailPwd);
    
    
      //  SMTP     
      smtp.Host = host;
    
      try
      {
       //      SMTP     
       smtp.Send(myMail);
       return true;
    
      }
      catch (System.Net.Mail.SmtpException ex)
      {
       return false;
      }
     }
     
     
     ・・・
    4 메 일 발송
    여기 서 먼저 메 일 을 설정 하고 안내 에 따라 아래 서 비 스 를 열 어야 합 니 다.개통 후 비밀 번 호 를 제공 하기 때문에 최종 적 으로 메 일 을 보 낼 때 사용 하 는 비밀 번 호 는 메 일 로그 인 비밀번호 가 아니 라 다음 서 비 스 를 개통 한 후에 발생 하 는 비밀번호 입 니 다.

    전체적인 환경 을 구축 하 는 데 편리 하도록 저 는 여기 서 별 각 교육 상위 기기 배치 소프트웨어(CMSPro)를 지멘스 S7-1200 PLC 와 결합 하여 기능 테스트 를 합 니 다.먼저 CMSPro 를 통 해 변 수 를 설정 합 니 다.다음 그림 과 같 습 니 다.

    각 변수 에 대해 경보 설정 을 하고 M8.0 설정 상승 선 을 예 로 들 면:

    같은 방식 으로 다른 변 수 를 해당 하 는 경보 설정 을 하고 설정 이 완료 되면 저장 하고 실행 하려 면 누 르 십시오.

    위의 그림 에서 알 수 있 듯 이 현재 M8.0 은 False 이 고 수 동 으로 M8.0 을 배치 하거나 TIA 블 로그 소프트웨어 를 통 해 M8.0 을 배치 할 수 있 습 니 다.이때 메 일 은 경보 메 일 을 받 고 M8.0 을 복원 합 니 다.메 일 은 경고 로 제 거 된 메 일 을 다시 받 을 것 입 니 다.아래 그림 과 같 습 니 다.

    C\#SMTP 와 결합 하여 메 일 경보 알림 을 실현 하 는 예 시 를 보 여 주 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#SMTP 메 일 경보 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 십시오.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기