Microsoft MVP성태의 닷넷 이야기
SMTP 예외처리 관련 질문 [링크 복사], [링크+제목 복사]
조회: 8485
글쓴 사람
황윤하 (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 인스턴스를 살펴보면 나올 것입니다.
정성태

1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5777감사합니...12/29/20223477UI Thread에 Invoke 처리관련 궁금합니다. [3]
5776pdf맨12/28/20223286C# MouseUp Event + pdf [10]
5775민성12/28/20223057안녕하세요 Class 관련해서 예외처리를 하나로 받아낼수 있는 방법 [1]
5774중급12/27/20223831중급개발자란 어느 수준인지요? [4]
5773김영식12/26/20223399c# 압축파일 읽어 올 때 BinaryRead 한글 처리 문제 [1]
5772눈송이12/26/20223498Excel VSTO 는 왜 Net Core, Net 5, 6 버전을 사용하지 않나요? [2]
5771김훈12/26/20223607c# .net client application 망분리(내부망,외부망) 환경에서 의문의 외부사이트 호출 대기 [2]
5770lsh12/26/20223200클라우디움안에 있는 파일을 File.Copy 하고싶은데 코드로는 접근을 못하나요? [1]
5769울타리12/20/20223269Active Directory 2012R2 2016 또는 2019 마이그렝션 문의 드립니다. [1]
5768c++12/14/20224029Thread를 사용한 C++ DLL에 관련된 질문입니다. [6]파일 다운로드2
5767민성12/9/20223369안녕하세요 ashx로 화일을 저장하고 화일명을 리턴하는데요 [1]
5766김명훈12/9/20223521웹브라우저에서 묻지 않고 바로 다운로드 [2]
5765hong12/1/20223744Winform(.Net6) 클라이언트에서 SignalR Core 웹서버에 접속시 인증서 문제 [3]파일 다운로드1
5764요한11/30/20223964c++ 동일한 객체인지 비교 방법문의 [2]
5763고필석11/30/20223459시작하자마자 비정상 종료하는 프로세스에 대한 문제 해결 조언 요청 드립니다. [3]
5762흰털너부리11/30/20223448wpf mvvm ui update 로딩중 표시 [1]
5761민성11/29/20223344죄송하지만 한가지만 더 여쭈어 보겠습니다 [1]
5760민성11/29/20223281안녕하세요 [2]
5759문정환11/28/20223615c# socket 통신할때 빅엔디언으로 바꿔줘야 하나요? [1]
5758라떼11/28/20224794Linux 에서 winform UI 어플리케이션 실행하기 [3]
5757흰털너부리11/25/20223767asp.net core EF AddDbContext,AddDbContextFactory 차이점 알려주세요 [1]
5756흰털너부리11/25/20223350asp.net core web api에서 json 특정 property 무시하는 방법 문의 드립니다. System.Text.Json 사용중입니다. [1]
5755문정환11/24/20223709싱글스레드 프로그램도 컨텍스트 스위칭이 생길 수 있나요? [4]
5754초급11/24/20223551c# 소켓통신 [1]
5753흰털너부리11/24/20223356List와 ObservableCollection을 비교 해서 다른 값 추출 FirstOrDefault 객체 비교 [4]파일 다운로드1
5752푸헐11/15/20223489app.config 에 connectionStrings를 aspnet_regiis로 enctyption [4]
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...