Aktion wenn E-Mail senden erfolgreich/nicht erfolgreich

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von shaebich.

    Aktion wenn E-Mail senden erfolgreich/nicht erfolgreich

    Hallo zusammen,

    ich verwende den SMTPClient und würde ganz gerne, wenn eine E-Mail erfolgreich gesendet worden ist, eine Folgeaktion starten und falls die E-Mail nicht gesendet werden konnte, möchte ich die Aktion wiederholen.

    Das bekomme ich leider iwie nicht hin. Wie man den SMTPClient an sich benutzt ist mir klar und E-Mails versenden klappt auch ohne Probleme.
    Ich muss das Thema leider nochmals aufgreifen.

    Ich möchte, eine Liste mit E-Mail Adressen (in RichTextBox abgetrennt durch vbCr) in mein Programm laden und anschließend eine E-Mail an jede Adresse senden welche in der Liste steht (HINWEIS: NEIN das soll KEIN Spam-Programm werden!!!).

    Eine E-Mail zu senden ist kein Problem und habe ich auch hinbekommen, ABER das eine Adresse aus der Zeile genommen und dann an diese gesendet wird und nach erfolgreichem Versenden dann die nächste genommen wird, hier hakt es iwie gewaltig :/

    Zum zeilenweisen Auslesen benutze ich diese Funktion:

    VB.NET-Quellcode

    1. Dim mailadr As Array = RichTextBox1.Lines
    2. For i As Integer = 0 To mailadr.Length - 1
    3. TextBox5.Text = mailadr(i)
    4. Next


    Aber ich muss das Ganze ja wiederholen, wenn das Senden geklappt hat oder eben niocht
    Warum As Array? Welchen Datentyp hat RichTextBox.Lines?
    Was hat TextBox jetzt mit der Adresse zu tun?

    Nimm eine klassenweite Variable (die nicht in der Sub definiert ist, sondern in der Klasse ganz oben), dann befüllst du sie mit RichTextBox.Lines. Noch dazu eine klassenweite Index-Variable (Integer). Am Anfang sendest du an die erste Adresse, zählst Index hoch und im Event holst du die nächste und sendest weiter, wenn erfolgreich.
    Wieso erstellst du dir nicht ein DataSet mit den Spalten

    Adresse [String]
    Verschickt [Boolean]

    dann liest du ganz einfach für jede Zeile in deinem Textfile die Adresse in dein DataSet und später kannst du ganz einfach für jeden Datensatz im DataSet deine Email Send Methode ausführen und wenn erfolgreich dann Bool = True und wenn nicht dann Bool = False und am ende für alle falschen nochmal die Send Methode...

    20 Zeilen Code vielleicht