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 메 일 경보 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 십시오.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.