Microsoft MVP성태의 닷넷 이야기
SMTP 예외처리 관련 질문 [링크 복사], [링크+제목 복사],
조회: 18181
글쓴 사람
황윤하 (yhhwnag at angtec.com)
홈페이지
첨부 파일
 

안녕하세요 질문 게시판이 있는지 모르고 댓글로 질문을 남겼습니다..
죄송합니다.

SMTP 메일 전송 프로그램을 개발이며, 현재 테스트 중입니다.
저희 회사 내계정 또는 네이버를 이용하여 메일을 전송하면 잘 됩니다.
근데 특정 회사내에서 프로그램을 적용하고 테스트를 하면,

RemoteCertificateNameMismatch, RemoteCertificateChainErrors

이와같은 예외처리가 납니다.
회사에 연락해서 물어본 결과, 인증프로세스는 무조건 포함되어야 하며
인증 시 ID/PWD/메일 계정이 포함되어있어야 하고, 자체 인증서는 사용하지 않는다. 라고 하였습니다.

그래서 인증프로세스를 사용하도록 하였고, Credentials(자격증명)시 ID/PWD를 이용하여 자격증명을 하도록 하였습니다.
자격증명 전에 UseDefaultCredentials을 true로 설정해놓았는데 자격증명로직을 지나가면 UseDefaultCredentials이 false로 바뀝니다.

SMTP관련하여 부족한 부분이 많기 때문에
저러한 예외처리가 나는 이유와 해결하는 방법에 대해서 잘 모르겠습니다... 몇일째 해결못하고 분석만 하는중입니다..

참고로. 예외처리가 나는 회사는 Exchange를 사용, 하며 회사내 자체 메일프로그램을 사용 중입니다.


제 생각으로는
아웃룩에서 새메일 계정만들기를 하고 인증을 하는 부분에서 에러가 난다고 생각합니다.. 그 이유는
1. 인증서가 일치 하지 않아서
- 근데 아웃룩은 메일전송이 됩니다......
- 만약 이 문제가 맞다면 인증서 다운로드 하는 방법이나 무슨 인증서가 존재하는지 어떻게 확인을 하는지 잘 모르겠습니다..
2. 도메인이 연결이 되어있지 않아서
- 거기서 발급해준 아이디가 xxx\xxxx 이와 같이 되어잇는데 구글링 해본 결과 xxx\ <= 이와 같은 형태는 특정 도메인에 연결할 때 쓰인다고 했습니다..
3. 현재 ssl 인증이 트루가 되어있는데 ssl 포트 465가 아닌 기본 포트 25를 사용하는데 ssl 인증을 트루로 해놔서
... 이 정도 입니다.


아시는 부분이 있다면 알려주세요..제발..








[최초 등록일: ]
[최종 수정일: 7/13/2018]


비밀번호

댓글 작성자
 



2018-07-13 05시22분
Exchange 서버라면 아마 Active Directory와 연동하는 CA 서버를 사용할 가능성이 큽니다. 그런 경우라면 자체 인증서와 별반 다를 바 없으므로 RemoteCertificateChainErrors 오류의 원인이 됩니다. 그런 경우 그 AD CA의 루트 인증서를 SMTP SSL/TLS 프로그램이 실행하는 로컬 PC에 신뢰할 수 있는 인증서로 등록해야 합니다. 해당 이름은 콜백 메서드의 두 번째 인자로 전달되는 X509Certificate 인스턴스를 살펴보면 알 수 있을 것입니다.

RemoteCertificateNameMismatch 또한, 콜백 메서드 실행 시의 X509Certificate 인스턴스를 살펴보면 나올 것입니다.
정성태

... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...
NoWriterDateCnt.TitleFile(s)
5164레드5/21/201918294실행 과정과 실행파일 디버그 시 Icon변경 질문드립니다. [5]
5163이대희5/20/201915168시작하세요 C# 7.3 프로그래밍 책 도착했습니다. [1]
5162채홍윤5/14/201919716Mono Develop window 설치 [6]
5161정대영5/13/201916175VS 2013에서 C#6.0(.netFramwork 4.6.1) $ 디버깅 오류 [1]
5160초보개발자5/13/201918286wcf 관련 국내 서적 살만한 책이 있나요? [2]
5159sdh25/9/201916445VS 2010 버전에서 생성한 DLL을 VS 2017버전에서 실행 시 에러 [2]
5158sdh5/8/201916512Visual studio 2010 버전에서 생성한 Project를 Visual studio 2017버전에서 실행에러 [1]
5157김경훈5/8/201919826Task 만들때 넘겨주는 CancellationToken은 어디서 사용 되는 건가요? [4]
5156rysoo5/8/201918858yield return의 리턴 타입 질문 드립니다. [4]
5155세퉁5/7/201921175관리자 권한으로 실행 시 알림창(?) 없이 바로 실행 시킬 수 있는 방법이 있을까요?? [2]파일 다운로드1
5154Soul...5/4/201916150NamedPipe 질문드립니다. [2]
5153개태5/4/201917351WCF RESTful Service에서 enum을 parameter로 쓰는방법 [2]
5152세퉁5/3/201918479인터넷 시간을 불러와 pc에 적용 시키고 싶습니다. [3]파일 다운로드1
5151이대희5/3/201915180C# 7.3으로 개정판 출간 계획이 있으신가요? [1]
5150김이현5/2/201918606C# 딕셔너리 생성에 대해 질문드립니다. [1]
5149민성5/1/201916253ftp 이미지 업로드중 [1]
5148wpf질문4/30/201916447특정 사이트를 wpf에서 popup을 항상 허용하게 할려면 어떻게 해야할까요? [5]
5147민성4/30/201915027wpf에서 작업관리자를 띠울려면 어떻게 해야 하나요? [1]
5146불파겐4/25/201915039하나의 필드를 여러 스레드에서 읽어갈 때 스레드 동기화를 하지 않으면 문제가 생길까요? [2]
5145e구름4/17/201918972Properties.Setting.Default값에 대해 질문드립니다. [2]
5144성태님 ...4/17/201915980질문하시기 전에 10000 페이지 오류 납니다. [1]
5143헌이4/16/201916953윈도우 작업표시줄에 프로그램 띄우기 [2]파일 다운로드1
5142cab2...4/9/201923266C#으로 만든 DLL 배포하기 [10]
5141하늘사랑4/5/201917836Axinterop 래퍼에 관해서 질문드립니다. [7]
5140게스트4/1/201916423안녕하세요. 초보 개발자입니다. SD리더기에서 SD카드를 꽂으면 발생하는 이벤트 문의 [2]
5139김이현3/28/201919798C#에서 CRON 같은 스케줄러를 사용하려면 어떻게 해야 하나요? [3]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...