Da es in fast jedem Multitool eine "Bugreport-Funktion" gibt, die darauf hinweisen, die Bugs per PN, ICQ, Skype oder sonstiges zu melden, habe ihc mir gedacht, ich mache ein Tutorial für einen Bugreporter der einem eine Mail mit der z.B. Versionsnummer, dem Benutzernamen, der Fehlernachricht und der Kontaktmöglichkeit des jeweiligen Fehlermelders.
Fangen wir an.
Als erstes erstellt ihr eine neue Form. In dieser Form sollte mindestens ein Sendeobjekt (Drauf klicken -> Mail senden) sein. Dazu eignet sich fast alles, aber mit Buttons geht es doch am besten. Dann benötigt ihr noch mindestens ein Texteingabefeld je nach dem, was für Daten ihr von dem Benutzer wissen wollt. Sei es jetzt eine Richtextbox, eine Textbox oder eine Maskedtextbox - volkommen egal.Die Anordnung ist wie es euch gefällt, das kann ich ja nicht entscheiden :P
Dann importiert ihr den Namespace System.Net.Mail
Code:
Imports System.Net.Mail
Jetzt folgt die Definition der Mail-Daten, also Mailausgangsserver, Port, Benutzername und Passwort. Falls jemand seinen SMTP-Server nicht weiß,
ist eine gute Liste.Code:
Dim MSG As New MailMessage
Dim myCredentials As New System.Net.NetworkCredential
Dim mySmtpsvr As New SmtpClient()
Code:
mySmtpsvr.Port = 25
'Definiert den Port des Mailservers
mySmtpsvr.Host = "mail.gmx.net"
'Die Adresse des Mailservers, hier GMX
myCredentials.UserName = "
"
'Hier der Benutzername
myCredentials.Password = "blabla456"
'das Passwort
mySmtpsvr.Credentials = myCredentials
'Definiert, Dass die Benutzerdaten mit myCredentials definiert sind
MSG.From = New MailAddress(myCredentials.UserName)
'Definiert, dass die neue Nachricht mit dem Benutzername aus myCredentials
'als Absender versendet wird
Code:
MSG.To.Add("
")
'Definiert den Empfänger, muss gültige Mail-Adresse sein
MSG.Subject = TextBox1.Text
'Definiert den Betreff (z.B. Bugreport), hier Textbox1
MSG.Body = My.Settings.USERNAME & " Bugreport: " & Textbox2.Text
'Definiert den Textkörper. Als erstes kommt jetzt der
'zuvor am besten in den internen Einstellungen gespeicherte
'Benutzername, Dann das Wort Bugreport und dann die Nachricht
'ausTextbox2. Am sinnfollsten ist es, bei Textbox2 Multiline auf True
'zu setzen. Das selbe gilt für Maskedtextboxen. Richtextboxen sind Multiline
MSG.IsBodyHtml = False
'Diese Zeile besagt, dass die Nachricht als plain Text, also unformatierter Text,
'und nicht im HTML-Format gesendet wird.
Code:
mySmtpsvr.Send(MSG)
Es empfielt sich, den gesamten Code, bis auf den allerersten Teil in einen Try - Catch-Block zu setzen, dass falls ein Fehler auftritt, eine Meldung ausgegeben werden kann, die besagt, was für ein Fehler vorlieg.
Kritik, Vorschläge und Wünsche hier, per PN oder sonstwo. Beleidigungen werden ohne #reportet durchgeführt, genauso wie ein doppeltes #clrq.
Ich hoffen, dass macht manche Multitools besser!


Die DLL ist nur da, falls ihr den Code nicht koieren wollt!
Die DLL bindet ihr wie folgt ein:
Projekteigenschaften -> Verweise -> Hinzufügen
Dann in dem neuen Fenster auf Durchsuchen -> DLL auswählen -> Bestätigen
Jetzt müsst ihr in egal welcher Form nur noch oben die DLL importieren (Imports-Befehl). Der Aufruf der Mail-Funktion lautet dann wie folgt:
Code:
Mailversand(Empfänger, SMTP_Server, Betreff, Absender,Username, Passwort, Nachricht, Anzahl)






