글 작성자: 써니루루

http://hoons.kr/Board.aspx?Name=QACSHAP&Mode=2&BoardIdx=42400  

Q
uestion

안녕하세요

웹에서 메일을 발송할때 SmtpCilent 를 사용해서 메일을 발송하는데요~

만약 받는 메일 주소가 잘못된 주소여서 전송이 안 됐을때 로그를 남기려고 합니다.
 
근데 SmtpFailedRecipientsException 이 부분에선 잡히지가 않는거 같아서요...

없는 메일주소로 발송을 해보면... 큐에 잠깐 들어갔다가 배드 메일로 빠지고 아무런 오류도 남질 않습니다.

회원들중에 잘못된 메일 주소를 등록한 회원이라면 메일주소를 초기화 시켜주려고 하는데요

어떻게 로그를 남길 방법이 없을까요?

해결 방법이 있으면 조언좀 부탁드립니다!!

수고하세요^^





Answer

일단 발생하는 시차가 생기는데요.

발송 시 오류는 프로그램에서 Catch가 될 텐데

발송 후 오류는 프로그램에서 잡지 못할 수 있어요. (예: 메일주소 틀린경우, 메일 박스 꽉찬 경우 등)

익셉션의 ex.StatusCode 가 MailboxBusy일 때는 몇 초 후 다시 보내면 되는데,

그 외에는 오류 로그로 남겨서 찾아보시면 될 것 같네요.



참고 URL : http://hanssens.org/post/SmtpFailedRecipientsException-Catch-undeliverable-mail.aspx