Laden...

SmtpClient: Wie bekomme ich den Status-Code?

Erstellt von Tr1umph vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.794 Views
T
Tr1umph Themenstarter:in
58 Beiträge seit 2011
vor 12 Jahren
SmtpClient: Wie bekomme ich den Status-Code?

Hi

Ich muss mit ner C#-App einige Mails verschicken. Da ist es natürlich wichtig, dass die Mails auch ankommen.

Mein Problem ist leider, dass ich keine Ahnung habe wie ich bei der Klasse System.Net.Mail.SmtpClient an den Statuscode komme. Also an die letzte Meldung die der Server an den Client schickt.

Die einzige Möglichkeit die bisher gefunden habe um den auszulesen ist, bei ner Exception. Da kann man den Code aus der Exception auslesen. Ich benötige den Code aber auch, wenn keine Exception geworfen wird.

Kennt jemand eine Möglichkeit wie man daran kommt?

Gruß

849 Beiträge seit 2006
vor 12 Jahren

? Wenn keine Exception fliegt, wirds wohl gut gegangen sein... warum brauchst dann noch nen Code?

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo Tr1umph,

meinst du sowas wie in Delivery Notifications in .NET MailMessage?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

T
Tr1umph Themenstarter:in
58 Beiträge seit 2011
vor 12 Jahren

? Wenn keine Exception fliegt, wirds wohl gut gegangen sein... warum brauchst dann noch nen Code?

Es gibt mehrere Fälle in denen der keine Exception wirft, es aber dennoch nicht sicher gestellt ist das die Mail auch irgendwo ankommt. Und über solche Fälle muss ich speziell behandeln.

meinst du sowas wie in
>
?

Nicht ganz. Dabei geht es um eine Bestätigungsmail. Was ich brauche ist die Nachricht die mir der Smtp-Server zuletzt sendet.

F
10.010 Beiträge seit 2004
vor 12 Jahren

Dann musst du eben selber smtp "sprechen".

185 Beiträge seit 2005
vor 12 Jahren

MSDN Beispiel:


private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
        {
            // Get the unique identifier for this asynchronous operation.
             String token = (string) e.UserState;

            if (e.Cancelled)
            {
                 Console.WriteLine("[{0}] Send canceled.", token);
            }
            if (e.Error != null)
            {
                 Console.WriteLine("[{0}] {1}", token, e.Error.ToString());
            } else
            {
                Console.WriteLine("Message sent.");
            }
            mailSent = true;
        }

reicht dir das nicht aus?