2016-06-24 9 views
2

MailKit과 MimeKit을 사용하여 전자 메일을 보내려고 할 때 SMTP 출력을 수집하는 방법이 있습니까?Mimekit과 함께 Mailkit을 사용하여 SMTP 서버 수집

ps : Easymail에서 Mimekit 및 Mailkit으로 전자 메일 코드를 마이그레이션하려고하는데 오히려 기본 쿼리 일 경우 사과드립니다.

답변

2

실제로 이것에 대해 FAQ을 있어요,하지만 편의를 위해, 난 여기가 붙여 있습니다 :

MailKit의 클라이언트 구현의 모든

는 클라이언트/서버 통신을 로깅을위한 멋진 IProtocolLogger 인터페이스를 사용하는 생성자가 있습니다. 즉시 사용할 수있는 편리한 ProtocolLogger 클래스를 사용할 수 있습니다. 다음은 사용 방법에 대한 몇 가지 예입니다.

// log to a file called 'smtp.log' 
var client = new SmtpClient (new ProtocolLogger ("smtp.log")); 

// log to standard output (i.e. the console) 
var client = new SmtpClient (new ProtocolLogger (Console.OpenStandardOutput())); 
+0

감사합니다. 저는 1000 명에게 메일을 보내는 응용 프로그램을 만들고 있습니다. 결과와 함께 모든 보내기를 기록해야합니다. 나는 그것이 전송되었는지 아니면 예외 코드로 실패했는지 알 필요가있다. SMTP 서버 응답 코드를 동기식으로 수집하는 간단한 방법이 있습니까? void 데이터 (FormatOptions 옵션, MimeMessage 메시지, CancellationToken cancellationToken, ITransferProgress 진행) 메소드가 이벤트가 트리거되었음을 알았습니다. \t OnMessageSent (새 MessageSentEventArgs (message, response.Response)) ;. 나에게 보낼 때마다 그걸 모을 수있는 방법이 있니?. – Krylor

+0

예. 모든 메시지를 보낸 후에 배출됩니다. – jstedfast

+0

고마워!. – Krylor