Email Sender Problem

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Slexout.

    Email Sender Problem

    Hallo Leute,

    Ich bin ziehmlich neu im Forum und bin mir nicht sicher ob ich hier richtig bin. Wenn ja dann jetzt schonmal Sorry.

    Ich hab ein Email Sender erstellt. Er läuft sehr gut, wenn ich in die Textbox z.b : Email1@web.de, Email2@web.de sendet er an beide Mails. Aber wenn ich jetzt z.b : Email1@web.de, Email2@web.de, (also den komma dahinter lasse oder was bei der Mail fehlerhaft ist, kommt eine Fehlermeldung und er sendet den Resst nicht.

    Gibt es Irgendwie eine Möglichkeit wenn 1 Mail von 10 Fehlerhaft ist die Anderen 9 Einfach weitergesendet werden?

    Bitte helft mir ;(

    Mfg Slexout.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mikeb69“ ()

    Ich weiß nicht ganz ob es klappt aber Probiere den "Sender" Code in diesen String reinzupacken.

    VB.NET-Quellcode

    1. Dim Fehlermails As String = "0"
    2. Try
    3. 'Der Code
    4. Catch ex As Exception
    5. Fehlermails = Val(Fehlermails) + Val("1")
    6. Label1.Text = "Nicht gesendete E-Mails: " & Fehlermails
    7. 'Der Code nochmal
    8. End Try


    Der Code in "Deutsch": Versuche, E-Mail zu senden, wenn Fehler Probiere E-Mail zu senden, Ende Versuche (Fehlerhafte Emails nicht gesendet!)
    Bei Label1 wird die Anzahl der nicht gesendeten E-Mails angezeigt.

    D.H: Fehlerhafte E-Mail Addressen werden denke ich übersprungen und die richtigen werden gesendet.+

    Mfg
    Dafür brauchst du den Try-Catch(warum auch immer der Leer ist) im Try teil Versuchst du es zu senden. Bei fehlern springt er in den Catch teil.. Da kannst du dann die Emails weiter verschicken ohne die Falsche adresse.

    Oder überprüfst einfach beim klick auf Senden per Regex ob die Emailadressen im richtigen Format sind.

    lg.

    LucaWelker
    lg.

    LucaWelker
    Das hättest du auch in den anderen Thread mit reinschreiben können weil es dazu gehört.

    Wenn das Komma dahinter is und keine weiteren Mail Adresse dann lösche das Komma doch einfach

    VB.NET-Quellcode

    1. allMails = allMails.SubString(0, allMails.Length - 1)


    Zudem kannst du nicht die Fehlermails abfangen da du ja alle Mail Adressen an den Mail Client weiter gibst und damit keine Kontrolle mehr darüber hast welche gesendet werden oder welche nicht. Das hättest du nur wenn du jede E-Mail einzelnt verschicken würdest, also beim Komma Splitten, dann eine Schleife durch die Adressen und die Mail senden, sollte hierbei ein Fehler auftreten mit Try Catch abfangen und den FehlerCounter um 1 erhöhen.

    Email Sender Problem

    Hey, ich hab ein Problem mit meinem Email Sender.
    Ich bin schon weit mit ihm gekommen, aber ich möchte gerne das ich mein text an mehrere leute versenden kann (wie ein Newsletter).
    Ich hab mich in der Sufu erkundigt und dort stand das man es in 1.ner Textbox mit Kommas trennen kann.
    Ich hab es ausprobiert und es hat Funktioniert.
    Nur wo ich es jetzt mit den Kommas trenne kriegt meine erste Mail den Newsletter öffters. (er bekommt ihn 10 mal wenn ich 10 Mails in die Textbox schreibe)

    Ich weiß nicht wie ich so ein Problem behebe, und ich würde mich sehr über Komplette Antworten freuen!

    Mfg Slexout.
    Hi Slexout
    sehr über Komplette Antworten freuen

    Wir freuen uns hier über komplette Fragen. Dazu gehört auch dein bisheriger Versuch.
    Ohne diesen wird es schwer, dir den richtigen Rat zu geben. Ich vermute, du hast eine Schleife laufen, ...
    Wie gesagt, ich vermute..
    Ich hab einen Email sender, und ich schreibe mehrere Emails in eine Textbox. Aber mein Problem ist wenn ich 10 Emails in eine Textbox schreibe dann kriegt die erste Mail 10 Mails, die 2. Mail 9. usw..
    Und mit Kompletten Antworten meine ich i-was was ich verstehe. Weil ich verstehe nicht wenn jemand schreibt : "ich geb dir ein Tipp. Denn resst musst du aber Selber rausfinden." Weil ich bin noch ziehmlicher Anfänger.

    Edit by der_Kurt:
    komplettes Zitat ist nicht notwendig, der Beitrag steht direkt darüber
    - Zitat entfernt -

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    ch hab einen Email sender, und ich schreibe mehrere Emails in eine Textbox. Aber mein Problem ist wenn ich 10 Emails in eine Textbox schreibe dann kriegt die erste Mail 10 Mails, die 2. Mail 9. usw..

    Das steht alles im ersten Post von dir. Weiss ich also schon.

    Nochmal Kurzfassung:
    Bitte poste deinen Quellcode. Ich habe eine Vermutung, wo der Fehler liegt.

    Wenn du eine Autopanne hast und der Pannendienst kommt: Zeigst du ihm das Auto, oder beschreibst du ihm, wie es aussieht? :huh:

    Quellcode

    1. 'Ich weiß das, dass Problem an dieser Stelle ist :
    2. empfängerliste = Split(TextBox4.Text, ",")
    3. For Each empfänger As String In empfängerliste
    4. Try
    5. mail.Bcc.Add(empfänger)
    6. smtp.Send(mail)
    7. Catch ex As Exception
    8. Label14.Text = Val(Label14.Text + 1)
    9. End Try


    Um noch etwas klar zu stellen : Ich möchte sehr gerne das ich mehrere Email-Addressen in nur 1 Textbox schreiben und wenn 1Email fehlerhaft ist das er die Ignoriert.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Slexout“ ()

    Hi,

    Mehrere Threads zum selben Thema sind unnötig (Crossposting).

    --> Themen zusammengefügt


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de

    LaMa5 schrieb:

    Hi,

    Mehrere Threads zum selben Thema sind unnötig (Crossposting).




    Du hast recht,

    Ich hab es nun hinbekommen das meine Email weitergesendet wird wenn ich eine Falsche eintrage. Ich hab es auch nun hinbekommen das Googlemail wieder Funktioniert, ich musste nur Ssl erlauben.

    Nun muss ich es nurnoch schafen das mein Empfänger nur 1 Mail bekommen! Bitte hilft mir. Ihr wisst bestimmt weiter.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Slexout“ ()

    Wie du beschrieben hast, werden mehrere emails durch "," getrennt z.b blub@web.com, blubblab@yahoo.com.
    Du kannst ganz einfach vorgehen:
    1. In TextBox (Emails) Sting splittest und in Arrays rein schreibst
    2. Mit schleife läufst alles Einträge in Array durch
    3. In schleife versendest gewünsten text an gewünste emails
    4. fertig

    String zerlegen: openbook.galileocomputing.de/vb_net/msvb060001.htm
    Array: openbook.galileocomputing.de/vb_net/msvb020017.htm

    Jetzt bist du an der reiche....viel spaß ! ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SystemUnknow“ ()

    SystemUnknow schrieb:

    Wie du beschrieben hast, werden mehrere emails durch "," getrennt z.b blub@web.com, blubblab@yahoo.com.
    Du kannst ganz einfach vorgehen:
    1. In TextBox (Emails) Sting splittest und in Arrays rein schreibst
    2. Mit schleife läufst alles Einträge in Array durch
    3. In schleife versendest gewünsten text an gewünste emails
    4. fertig

    String zerlegen: openbook.galileocomputing.de/vb_net/msvb060001.htm
    Array: openbook.galileocomputing.de/vb_net/msvb020017.htm

    Jetzt bist du an der reiche....viel spaß ! ;)


    Meinst du so? :

    Quellcode

    1. Dim empfängerliste() As String
    2. empfängerliste = Split(TextBox4.Text, ",")
    3. For Each empfänger As String In empfängerliste
    4. Try
    5. mail.Bcc.Add(empfänger)
    6. smtp.Send(mail)
    7. Catch ex As Exception
    8. Label14.Text = Val(Label14.Text + 1)
    9. End Try
    10. Next


    Wenn ja, das hilft nicht weiter. Ich bekomme immernoch mehrere Mails -.-
    das

    VB.NET-Quellcode

    1. smtp.Send(mail)

    mach nach der for schleife

    warum:
    du gibst in deiner for schleife immer mehr adressen zu den bcc empfängern.
    und sendest sie danach. dh erster schleifendurchgang 1 mail adresse -> senden; zweiter durchgang 1 Mail adresse schon drin noch eine dazu -> senden; usw.


    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    fichz schrieb:

    das


    warum:
    du gibst in deiner for schleife immer mehr adressen zu den bcc empfängern.
    und sendest sie danach. dh erster schleifendurchgang 1 mail adresse -> senden; zweiter durchgang 1 Mail adresse schon drin noch eine dazu -> senden; usw.


    lg


    wenn ich es nach der for schleife mache, wird das try catch dann trotzdem ausgeführt?
    für das senden der email nicht mehr nein.
    das kannst du aber so umgehen:

    VB.NET-Quellcode

    1. Dim empfängerliste() As String
    2. empfängerliste = Split(TextBox4.Text, ",")
    3. Try
    4. For Each empfänger As String In empfängerliste
    5. mail.Bcc.Add(empfänger)
    6. Next
    7. smtp.Send(mail)
    8. Catch ex As Exception
    9. Label14.Text = Val(Label14.Text + 1)
    10. End Try

    somit wird die komplette schleife in den try-catch block gelegt.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    fichz schrieb:

    für das senden der email nicht mehr nein.
    das kannst du aber so umgehen:

    VB.NET-Quellcode

    1. Dim empfängerliste() As String
    2. empfängerliste = Split(TextBox4.Text, ",")
    3. Try
    4. For Each empfänger As String In empfängerliste
    5. mail.Bcc.Add(empfänger)
    6. Next
    7. smtp.Send(mail)
    8. Catch ex As Exception
    9. Label14.Text = Val(Label14.Text + 1)
    10. End Try

    somit wird die komplette schleife in den try-catch block gelegt.

    lg


    Hab ich gemacht. Jetzt kommt zwar immernoch 1mail an aber wenn ich was falsches eingebe z.b : asd@web.de, asd.de kommt die mail bei asd@web.de nicht an.
    Weiß jmd. weiter?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Slexout“ ()