Frage von lapizuzeli, 86

Wieso funktioniert dieser EmailCode bei VisualBasic nicht, Wie kann man eine Email Versenden in Visual Basic?

Liebe Programierfreunde. Ich mache ein Registrier Programm und möchte, dass die Daten mir per Email geschickt werden, wo sie direkt auf die Datenbank des Kunden geleitet wird. Wie das alles geht weiss ich eigentlich. ich habe aber Jedoch gemerkt , dass eine Fehler Medldung kommt.

Ich habe ein Bild (Screenshot) gemacht und den könnt ihr ja mal ansehen! :D

Wäre cool, wenn ihr helfen könntet!

Antwort
von CrystalixXx, 39

Doch, man kann E-Mails versenden.

Wenn du uns deine Fehlermeldung vorenthälst, dann verraten wir dir auch nicht die Lösung.

Kommentar von lapizuzeli ,

SmptException wurde nicht behandelt , steht da

Fehler beim senden der E-mail steht auch.

Kommentar von CrystalixXx ,

Entweder konnte keine Verbindung mit dem Server hergestellt werden, oder die Anmeldedaten sind falsch oder Timeout ...

Verwendet dein E-Mail-Dienst eine SSL-Verschlüsselung? Wenn ja, dann musst du diese aktivieren, also die "EnableSsl"-Eigenschaft auf True festlegen.

Kommentar von lapizuzeli ,

@crystalixxx Ich habe jetzt den Befehlt: myclient.enablessl = True 

gesetzt, es geht aber immer noch nicht, was genau meinst du kann den Falsch sein?

Kommentar von CrystalixXx ,

Möglicherweise ist der SMTP-Server falsch... Ich denke nicht, dass der Server "smpt.gmail.com" heißt (Buchstabendreher?).

Kommentar von lapizuzeli ,

Ok, aber flas es immer noch falsch ist, dann was könnte es noch sein? Hast du eine weitere Ahnung,, oder kannst du es mal Programieren und den Code senden?

Kommentar von lapizuzeli ,

Ich habe von GoogleMail allei drei SMPT pfade genommen: 

smpt-relay.gmail.com



aspmx.l.google.com

smpt.googlemail.com

smpt.gmail.com



ES GEHT IMMER NOCH NICHT :(

Kommentar von CrystalixXx ,

Lies nochmal meinen letzten Kommentar ...

Der Server heißt smtp.gmail.com. Zuerst ein S, dann ein M, dann ein T und erst zum Schluß kommt das P. Solange der Servername falsch ist, wird es eben nicht funktionieren. Du wirst sicherlich auch noch den Port angeben müssen. SSL muss auch aktiviert sein.

Googles SMTP-Server: https://support.google.com/a/answer/176600?hl=de
SmtpClient-Klasse: https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx (Hier sind die Hinweise bei "SmtpException" interessant.)

Kommentar von lapizuzeli ,

Danke, die nächste Fehlermeldung: Für den smtp server ist eine sichere Verbindung erforderlich¨! , Die Serverantwort war 5.5.1

Kommentar von CrystalixXx ,

Die Lösung für dein aktuelles Problem habe ich auch schon zwei mal erwähnt: du musst SSL aktivieren. Das geht über die "EnableSsl"-Eigenschaft.

Du machst jetzt mal eben den Fernseher aus, die Musik aus und konzentrierst dich auf dein Problem. Du liest dir alle meine Antworten in Ruhe durch und ggf. auch die verlinkten Beiträge. Nimm dir Zeit und geh' alles Schritt für Schritt durch. ; )

Kommentar von lapizuzeli ,

Ich habe ja schon SSL aktiviert :/ ,

myclient.EnableSsl = True


habe ich gemacht , ich schicke dir den Aktuellen Stand meienes Codes: HIER: (das passwort habe ich extra so )



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

Dim emailtext As String
emailtext = Me.TextBox1.Text

Dim myclient As New Net.Mail.SmtpClient("smtp.gmail.com")

myclient.Port = 465
myclient.EnableSsl = True

myclient.Credentials = New NetworkCredential("lapizuzeli@gmail.com", "mypasswort")$


myclient.Send("lapizuzeli@gmail.com", "lukas.voegeli@bluewin.ch", "Register", emailtext)
End Sub

Kommentar von CrystalixXx ,

Verwende Port 587. (Das war übrigens auch im Link zu Googles SMTP Server erwähnt.)

Es kann auch sein, dass deine Google-Einstellungen das Versenden von E-Mails aus einer nicht-registrierten Anwendung heraus blockieren.

Kommentar von lapizuzeli ,

Ich habe es schon mit diesem Port versucht, und ich habe gelesen für SSL eben den 465:D

Kommentar von CrystalixXx ,

Port 587 ist der Port für TLS. Dazu muss SSL auch aktiviert sein.

Ich konnte damit eine E-Mail versenden, nachdem ich in den Sicherheitseinstellungen meines Google-Kontos allen Anwendungen den Zugriff erlaubt habe.

Kommentar von CrystalixXx ,

Mit folgendem Code kann ich E-Mails über mein Google-Konto versenden (sofern ich dies in den Einstellungen erlaubt habe):

Dim mailSubject As String = "Anwendung"
Dim mailBody As String = "Diese E-Mail wurde aus einer Anwendung heraus versendet."
Dim mailFrom As New Net.Mail.MailAddress("absender@gmail.com")
Dim mailTo As New Net.Mail.MailAddress("empfaenger@domain.com")
Dim myMail As New Net.Mail.MailMessage
myMail.Body = mailBody
myMail.Subject = mailSubject
myMail.From = mailFrom
myMail.To.Add(mailTo)

Dim myClient As New Net.Mail.SmtpClient("smtp.gmail.com", 587)
myClient.Credentials = New System.Net.NetworkCredential(mailFrom.Address, "Password")
myClient.EnableSsl = True
myClient.Send(myMail)
Kommentar von lapizuzeli ,

Danke, aber bei mir Aktzeptiert es nicht,dass ich zewimal Net.Mail.MailAddress habe, du hast das

Kommentar von lapizuzeli ,

Ah, jetzt aktzeptier er es , aber es steht immer noch, dass "keine sichere Verbindung vorhanden ist" Wie kann ich den SMPT Authentifizieren? und wo kann ich meine TextBox einfügen, die gesendet werden soll?

Kommentar von CrystalixXx ,

Schick mir mal ein Bild von der Ausnahme, die du erhälst.

Keine passende Antwort gefunden?

Fragen Sie die Community