Bestätigung nach E-Mail-Versand sehr schnell bei großen Anhängen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von 112marv.

    Bestätigung nach E-Mail-Versand sehr schnell bei großen Anhängen

    Hallo Zusammen,
    bin neu hier und habe eine Frage bezüglich der MailMessage Funktion.
    Ich habe mir ein E-Mail-Verteiler gebaut. Ganz zum Schluss lasse ich mir mit einer MsgBox bestätigen, dass die E-Mail versendet wurde.

    Nun wundert es mich sehr, dass diese Bestätigung ziemlich sofort kommt, nachdem ich auf Senden geklickt habe. Das eben auch, wenn ich sehr große (16 MB) Anhänge mitsende. Der Upload sollte da ja etwas länger dauern.

    Also bekomme ich nur eine Bestätigung, dss das Senden bearbeitet wird oder das sie wirklich versendet wurde, mit allem drum und dran?

    Danke.
    Sorry ist mir auch gerade aufgefallen.

    VB.NET-Quellcode

    1. 'versendet die Email
    2. Dim m As New MailMessage
    3. Dim c As New System.Net.NetworkCredential
    4. c.UserName = "xxx" 'Benutzername für Serverlogin
    5. c.Password = "***" 'Passwort für Serverlogin
    6. m.IsBodyHtml = False
    7. Dim s As New SmtpClient()
    8. s.Host = "smtp.strato.de" 'Mailserver
    9. s.Port = 25
    10. s.UseDefaultCredentials = False
    11. s.Credentials = c
    12. Try
    13. m.From = New MailAddress("xxx@xx.de", "xxx") 'Absender
    14. m.To.Add(sendeAdressen)
    15. 'Empfänger
    16. m.Subject = TextBox_Betreff.Text 'Betreff
    17. m.Body = body & vbNewLine & vbNewLine & signatur 'E-Mail Text, bestehend aus Body, zwei leere Zeilen und der Signatur
    18. 'E-Mail Anhänge, mit Abfrage, ob ein Anhang da ist, wenn nicht übergehen
    19. If Not String.IsNullOrEmpty(TextBox_anhang1.Text) Then
    20. m.Attachments.Add(New System.Net.Mail.Attachment(TextBox_anhang1.Text))
    21. End If
    22. If Not String.IsNullOrEmpty(TextBox_anhang2.Text) Then
    23. m.Attachments.Add(New System.Net.Mail.Attachment(TextBox_anhang2.Text))
    24. End If
    25. If Not String.IsNullOrEmpty(TextBox_anhang3.Text) Then
    26. m.Attachments.Add(New System.Net.Mail.Attachment(TextBox_anhang3.Text))
    27. End If
    28. 'Überprüft, ob die E-Mail-Anhänge größer als 4MB sind. (Beschränkung Senden und Empfangen bei web.de 4 MB)
    29. If filesize1 + filesize2 + filesize3 > 4096 Then
    30. Select Case MessageBox.Show("Ein Anhang oder alle Anhänge zusammen sind größer als 4 MB . Dieses kann dazu führen, dass die E-Mail nicht von allen Kontakten empfangen werden kann. Trotzdem fortfahren?", "Dateigröße zu groß", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    31. Case Windows.Forms.DialogResult.Yes
    32. GoTo OK
    33. Case Windows.Forms.DialogResult.No
    34. Return
    35. OK: End Select
    36. End If
    37. 'Antwort an ... senden. Nur wenn TextBox nicht NullOrEmpty
    38. If Not String.IsNullOrEmpty(TextBox_replyto.Text) Then
    39. m.Headers.Add("Reply-To", TextBox_replyto.Text)
    40. End If
    41. 'Fragt die RadioButton ab
    42. If prio_low.Checked Then
    43. m.Priority = MailPriority.Low
    44. ElseIf prio_normal.Checked Then
    45. m.Priority = MailPriority.Normal
    46. ElseIf prio_high.Checked Then
    47. m.Priority = MailPriority.High
    48. End If
    49. s.Send(m)
    50. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information)
    51. Catch ex As Exception
    52. MsgBox("Fehler: " & Err.Number & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace.ToString, MsgBoxStyle.Critical) ' Fehler = Meldung
    53. End Try


    Die Formatierung von dem Code ist ist aber nicht gerade schön. Hab ich was falsch eingefügt?

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

    Was passiert, wenn du die Anwendung direkt nach der Bestätigung beendest? Kommt die Mail an oder nicht?

    Abgesehen davon: Baue niemals :!: Passwörter in den Code ein. Jeder, der sich ein kleines bisschen auskennt, kann darauf zugreifen. Kurz gesagt: Alles, was der Computer weiß (in dem Fall das PW), kann auch der Mensch mitkriegen.

    BjöNi schrieb:

    Was passiert, wenn du die Anwendung direkt nach der Bestätigung beendest? Kommt die Mail an oder nicht?

    Ja sie kommt an.


    BjöNi schrieb:

    Abgesehen davon: Baue niemals :!: Passwörter in den Code ein. Jeder, der sich ein kleines bisschen auskennt, kann darauf zugreifen. Kurz gesagt: Alles, was der Computer weiß (in dem Fall das PW), kann auch der Mensch mitkriegen.

    Danke für den Hinweis. Habe ich inzwischen auch schon mitbekommen. Am besten eine neue Form erstellen, in der man das Passwort eingibt, welches dann in einer Variable gespeichert wird?
    Naja was heißt Problem. Mich hats halt nur gewundert, dass eine 16MB Datei in 2 Sekunden hochgeladen ist. Bei nur einer 16000 Leitung.

    Und ich dachte bevor sie dann evtentuell auch bei jemanden anders nicht komplett hochgeladen ist, warte ich lieber bis eine Bestätigung kommt.