E-Mail senden per SMTP (Simple Mail Transfer Protocol)

    • VB.NET

    Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von getsha.

      E-Mail senden per SMTP (Simple Mail Transfer Protocol)

      Hallo, dies ist zwar keine Anwendung die ich geschrieben habe, aber ich denke es passt hier trotzdem hin, für alle die nicht wissen wie man mit VB.NET eine E-Mail sendet.

      Senden einer E-Mail per SMTP

      Schritt 1: Zuerst muss Imports System.Net.Mail in die Kopfzeile übernommen werden.

      Schritt 2: Der Code

      VB.NET-Quellcode

      1. Dim Msg As New MailMessage
      2. Dim myCredentials As New System.Net.NetworkCredential
      3. myCredentials.UserName = " andreas@absender.de"
      4. myCredentials.Password = "Passwort des Absenders"
      5. Msg.IsBodyHtml = False
      6. Dim mySmtpsvr As New SmtpClient()
      7. mySmtpsvr.Host = "smtp.web.de" ‘bei web.de
      8. mySmtpsvr.Port = 25
      9. mySmtpsvr.UseDefaultCredentials = False
      10. mySmtpsvr.Credentials = myCredentials
      11. Try
      12. Msg.From = New MailAddress("andreas@absender.de")
      13. Msg.To.Add("entchen@empfänger.de")
      14. Msg.Subject = "Betreff"
      15. Msg.Body = "Inhalt"
      16. mySmtpsvr.Send(Msg)
      17. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
      18. Catch ex As Exception
      19. MsgBox (Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
      20. End Try

      Viele Grüße M 8-)


      Edit by Agent: VB-Tag eingefügt

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Agent“ ()

      hallo ghost120,

      der autor des codes konnte ja nicht wissen, dass du deine eigenen werte erst mal aussen vor lässt ! :wacko:
      da email addressen keine umlaute (ö,ü,ä) beinhalten können .....

      aber mit ein klein wenig mühe hätte da jeder drauf kommen können.

      gruss

      mikeb69
      Warum immer so kompliziert

      VB.NET-Quellcode

      1. Imports System.Net
      2. Imports System.Net.Mail
      3. Public Class Form1
      4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      5. Dim text As String
      6. text = TextBox1.Text
      7. Dim myClient As New Net.Mail.SmtpClient("smtp.web.de")
      8. myClient.Credentials = New Net.NetworkCredential("Meine Email", "Meine Email Pw")
      9. myClient.Send("Meine Email", "ZielEmail", "Hallo", text)
      10. End Sub
      11. End Class
      Hallo
      Das Thema hier ist lange her aber ich hab ein Problem
      Bei mir kommt die Meldung:
      (Bild Anhang)

      Kann sein das ich was falsch gemacht hab?
      Imports System.Net.Mail

      Public Class Form1

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

      Dim Msg As New MailMessage
      Dim myCredentials As New System.Net.NetworkCredential
      myCredentials.UserName = "mp_1992@hotmail.de"
      myCredentials.Password = "*****"

      Msg.IsBodyHtml = False

      Dim mySmtpsvr As New SmtpClient()
      mySmtpsvr.Host = "smtp.live.com"
      mySmtpsvr.Port = 25

      mySmtpsvr.UseDefaultCredentials = False
      mySmtpsvr.Credentials = myCredentials

      Try
      Msg.From = New MailAddress("mp_1992@hotmail.de")
      Msg.To.Add("Don_Perser@live.de")
      Msg.Subject = "HEY"
      Msg.Body = "HALLOOOOOOOO"
      mySmtpsvr.Send(Msg)
      MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
      Catch ex As Exception
      MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
      End Try
      End Sub
      End Class
      ok läute euer antwort mein Schicksal :)
      tnx
      Bilder
      • Fehler.jpg

        75,07 kB, 498×333, 3.131 mal angesehen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

      weiß nicht ob es noch intresannt ist.
      hab das nun selbst mal probiert mit gmail und mit folgendem parameter hat es dann funktioniert (hatte gleichen fehler wie du)

      dein code erweitert:

      VB.NET-Quellcode

      1. Imports System.Net.Mail
      2. Public Class Form1
      3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Dim Msg As New MailMessage
      5. Dim myCredentials As New System.Net.NetworkCredential
      6. myCredentials.UserName = "mp_1992@hotmail.de"
      7. myCredentials.Password = "*****"
      8. Msg.IsBodyHtml = False
      9. Dim mySmtpsvr As New SmtpClient()
      10. mySmtpsvr.EnableSsl = True 'SSL aktivieren
      11. mySmtpsvr.Host = "smtp.live.com"
      12. mySmtpsvr.Port = 25
      13. mySmtpsvr.UseDefaultCredentials = False
      14. mySmtpsvr.Credentials = myCredentials
      15. Try
      16. Msg.From = New MailAddress("mp_1992@hotmail.de")
      17. Msg.To.Add("Don_Perser@live.de")
      18. Msg.Subject = "HEY"
      19. Msg.Body = "HALLOOOOOOOO"
      20. mySmtpsvr.Send(Msg)
      21. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
      22. Catch ex As Exception
      23. MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
      24. End Try
      25. End Sub
      26. End Class


      hoffe konnte helfen ;)

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

      ich bin der neue totengräber von nebenan und möchte mein anliegen vortragen:

      ich habe bei dem von fichz genannten und dankenswerter weise zur verfügung gestellten Code ein Problem und zwar bei dieser Zeile:

      VB.NET-Quellcode

      1. Msg.Body = "HALLOOOOOOOO"
      2. mySmtpsvr.Send(Msg) '<<diese hier
      3. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")


      da wird mein programm gestoppt und friert ein, kann mir jemand sagen, was ich falsch gemacht habe?
      Ich bekomme folgende meldung bei yahoo:



      VB.NET-Quellcode

      1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      2. Dim Msg As New MailMessage
      3. Dim myCredentials As New System.Net.NetworkCredential
      4. myCredentials.UserName = "dgffdghfdg@yahoo.com"
      5. myCredentials.Password = "********"
      6. Msg.IsBodyHtml = False
      7. Dim mySmtpsvr As New SmtpClient()
      8. mySmtpsvr.Host = "smtp.mail.yahoo.com"
      9. mySmtpsvr.Port = 465
      10. mySmtpsvr.UseDefaultCredentials = False
      11. mySmtpsvr.Credentials = myCredentials
      12. Try
      13. Msg.From = New MailAddress("awdawd@yahoo.com")
      14. Msg.To.Add("awdawdad@gmail.com")
      15. Msg.Subject = "Betreff"
      16. Msg.Body = "Inhalt"
      17. mySmtpsvr.Send(Msg)
      18. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
      19. Catch ex As Exception
      20. MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
      21. End Try
      22. End Sub



      Jemand eine idee?
      Noch kürzer:

      VB.NET-Quellcode

      1. Imports System.Net.Mail
      2. Public Class Form1
      3. Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
      4. Try
      5. Dim myClient As New Net.Mail.SmtpClient(txtSMTP.Text)
      6. myClient.Credentials = New Net.NetworkCredential(txtUsername.Text, txtPassword.Text)
      7. myClient.Send(txtFrom.Text, txtTo.Text, txtSubject.Text, txtBodyText.Text)
      8. Catch oEx As Exception
      9. MessageBox.Show("Fehler! Code " & oEx.Message)
      10. End Try
      11. End Sub
      12. End Class
      Uraltes Thema. weiß jemand warum das bei web.de problemlos läuft und bei gmail.com und Yahoo.de nichts zu machen ist? Bei Google, kommt eine Message. Ein unauthorisierter Zugriff auf Ihr Postfach hat statt gefunden. Man kann die Sicherheits Stufe herab setzen auf eigene Gefahr. Aber es funktioniert trozdem nicht. Bei Web.de. Läuft es problemlos.

      Frage wurde ausgelagert: email senden aus VBnet Thema wurde schon behandelt, ich habe aber mal eine generelle, aktuelle Frage dazu.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

      Ich habe folgeneden Code aber er funktioniert nicht:

      VB.NET-Quellcode

      1. Dim Msg As New MailMessage
      2. Dim myCredentials As New System.Net.NetworkCredential
      3. myCredentials.UserName = "benedikt.daniel1@web.de"
      4. myCredentials.Password = "..........."
      5. Msg.IsBodyHtml = False
      6. Dim mySmtpsvr As New SmtpClient()
      7. mySmtpsvr.Host = "smtp.web.de" 'bei web.de
      8. mySmtpsvr.Port = 25
      9. mySmtpsvr.UseDefaultCredentials = False
      10. mySmtpsvr.Credentials = myCredentials
      11. Try
      12. Msg.From = New MailAddress("benedikt.daniel1@web.de")
      13. Msg.To.Add("benedikt.daniel1@web.de")
      14. Msg.Subject = "Test"
      15. Msg.Body = "Test ob man senden kann"
      16. mySmtpsvr.Send(Msg)
      17. MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
      18. Catch ex As Exception
      19. MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
      20. End Try
      @Berdi Was funktioniert nicht? Fängt der PC an zu rauchen?
      Außerdem, riesige Sicherheitslücke: Sicherheit: Gefahrenquelle Quellcode

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      #update

      Hi suche gerade einen code womit ich Gmail Adresse absenden kann, aber bisher alle Codes die ich getestet hatte waren von vor 10 Jahren und die aktuellsten von 2016 aber bekomme immer Fehler das er die Email nicht senden kann, obwohl ich den aktuellen Port für Gmail nutze.

      wäre sehr Dankbar wenn jemand was aktuelles hat

      Lg
      getsha
      Public Signatur

      Dim Mfg As Mit freundlichen grüßen
      Dim Getsha As User.Getsha

      Mfg.Getsha()

      End Signatur