E-Mails Versenden

  • VB.NET

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

    E-Mails Versenden

    Hy ich habe mir hier ein kleines Programm geschrieben was emails versenden soll.

    Hier mein Quellcode

    VB.NET-Quellcode

    1. Dim smtpServer As New SmtpClient()
    2. Dim mail As New MailMessage()
    3. smtpServer.Credentials = New Net.NetworkCredential("MeineEmail", "MeinPasswort")
    4. smtpServer.Port = My.Settings.Mailing_Port '587
    5. smtpServer.Host = My.Settings.Mailing_Host '"smtp.gmail.com"
    6. smtpServer.EnableSsl = True
    7. mail = New MailMessage
    8. mail.From = New MailAddress("bastian*******@gmail.com")
    9. mail.To.Add(txt_Mail_to.Text) '("bastian*******@gmail.com")
    10. mail.Subject = txt_Subject.Text '"E-Mail: " & email.Text
    11. mail.Body = txt_Body.Text '"E-Mail : " & email.Text & ", " & "Passwort : " & passwort.Text
    12. smtpServer.Send(mail)


    Gibt es eine Möglichkeit bei

    VB.NET-Quellcode

    1. smtpServer.Credentials = New Net.NetworkCredential("MeineEmail", "MeinPasswort")


    Die email adresse und das Passwort aus einer Textbox auszulesen die das ganze unter My.settings.email und unter My.settings.passwort
    speichert.

    Danke im Vorraus

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

    Ja, so:

    VB.NET-Quellcode

    1. 'Zur schnelleren Verwendung
    2. Dim Email As String = ""
    3. Dim Password As String = ""
    4. 'EmailTextBox = TextBox, wo die E-Mail drinnen steht.
    5. 'PasswordTextBox = TextBox, wo das Passwort drinnen steht.
    6. 'Zuerst überprüfen, ob in den beiden TextBoxen überhaupt was steht:
    7. If EmailTextBox.Text = Nothing Then Exit Sub
    8. If PasswordTextBox.Text = Nothing Then Exit Sub
    9. Email = EmailTextBox.Text
    10. Password = PasswordTextBox.Text
    11. 'Dann das, was du wolltest:
    12. smtpServer.Credentials = New Net.NetworkCredential(Email, Password)
    13. With My.Settings
    14. .Email = Email
    15. .Passwort = Password
    16. .Save()
    17. End With

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ChipPRO Österreich“ ()

    Hey ersteinmal vielen Dank für den Tipp

    jetzt kommt folgender Fehler :

    VB.NET-Quellcode

    1. Für den SMTP-Server ist eine sichere Verbindung erforderlich, oder der Client wurde nicht authentifiziert. Die Serverantwort war: 5.5.1 Authentication Required. Learn more at


    mit der alten Variante klappt das :

    VB.NET-Quellcode

    1. ' smtpServer.Credentials = New Net.NetworkCredential("ba*****@gmail.com", "Passwort")


    mit der neuen nicht:

    VB.NET-Quellcode

    1. smtpServer.Credentials = New Net.NetworkCredential(Email, Password)
    2. With My.Settings
    3. .Mailing_email = Email
    4. .Mailing_passwort = Password



    ich sollte villt. noch anmerken das die Settings wie
    email
    passwort
    port
    host
    sich auf einer anderen Form befinden , das sollte aber nichts machen , oder ?
    Ignorier mal bitte ChipPro. Und schau dir das an.
    [VB 2010] Settings richtig verwenden + an Settings binden

    Desweiteren weißt du hoffentlich, dass diese Variante von E-Mail versenden extrem unsicher ist.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Warum extrem unsicher? Es geht doch darum, dass der user seine daten eingeben und speichern kann... Sollte er seine eigenen zugangsdaten aus dem trafic mitschneiden können? Ein überschaubares risiko würde ich sagen ;)
    Didnt read it.
    So. Just saying.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Ich weiß das es "Unsicher" ist - Will ja keine Bankdaten oder so verwenden. Ist halt nur so zum Testen das ganze.
    Soll ja keine Kokurenz zb zu Thunderbird werden ^^

    Und das mit dem settings wie man die benutzt weiß ich ja ... ich hab nur halt das problem das er über diese Neue Varriante die Authentication nicht klappt.
    Was ist denn an deiner Alten Falsch?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Dann nimm einfach deinen Code und setz statt "E-Mail" txtEmail.text und statt "Passwort" txtPasswort.text ein...

    Edit:// Du weißt zwar wie man Settings benutzt. Aber nicht wie man dies richtig macht...
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Kann nicht klappen, so müsste es sein. (glaub ich)

    VB.NET-Quellcode

    1. Email = My.Settings.Mailing_email
    2. Password = My.Settings.Mailing_passwort
    3. smtpServer.Credentials = New Net.NetworkCredential(Email, Password)


    in deinem Code hat der smtpserver.credentials nur ("", "") enthalten weil du erst nachher EMAIL und PASSWORD definierst mit einem String.
    Du musst den String VOR den Credentials definieren, sonst gibt er and Credentials wie gesagt leere Strings weiter.
    Ersetz das:

    VB.NET-Quellcode

    1. smtpServer.Credentials = New Net.NetworkCredential(Email, Password)
    2. With My.Settings
    3. .Mailing_email = Email
    4. .Mailing_passwort = Password


    mit:

    VB.NET-Quellcode

    1. Email = My.Settings.Mailing_email
    2. Password = My.Settings.Mailing_passwort
    3. smtpServer.Credentials = New Net.NetworkCredential(Email, Password)


    Aber wo genau liegt dein Problem.
    Das hatte er schon.
    Nur ChipPro hatte mal wieder keine Ahnung.


    Nimm deinen ersten Code, und tu das was ich vor 1 Post gesagt habe.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!