2016-06-24 6 views
2

Bei dem Versuch, eine E-Mail mit MailKit und MimeKit zu senden, ist es eine Möglichkeit, den SMTP-Output zu sammeln ?.Sammeln SMTP-Server Mailkit mit Mimekit

ps: Ich versuche, meinen E-Mail-Code von Easymail zu Mimekit und Mailkit und ich entschuldige mich zu migrieren, wenn dies eine ziemlich grundlegende Abfrage.

Antwort

2

Es gibt tatsächlich eine FAQ darüber, aber der Einfachheit halber werde ich hier einfügen:

Alle MailKit Client-Implementierungen haben einen Konstruktor, der für die Anmeldung Client/Server-Kommunikation eine raffinierte IProtocolLogger Schnittstelle nimmt. Out of the box, können Sie die handliche ProtocolLogger Klasse. Hier sind einige Beispiele, wie man es benutzt:

// 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

Danke !. Ich arbeite an einer Anwendung, die jeder senden, mit dem Ergebnis aufnehmen müssen Mails bis 1000 people.I sendet. Ich muss nur wissen, ob es gesendet wurde oder ob es mit einem Ausnahmecode fehlgeschlagen ist. Gibt es eine einfache Möglichkeit, nur den SMTP-Server-Antwortcodes synchron zu sammeln ?. Mir ist aufgefallen, dass die Methode void Data (FormatOptions-Optionen, MimeMessage-Nachricht, CancellationToken cancellationToken, ITransferProgress-Fortschritt) ein Ereignis ausgelöst hat \t OnMessageSent (new MessageSentEventArgs (message, response.Response)) ;. Gibt es eine Möglichkeit für mich, das nach jedem Versand zu sammeln? – Krylor

+0

Ja. Es wird ausgegeben, nachdem jede Nachricht gesendet wurde. – jstedfast

+0

Danke dafür !. – Krylor