Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 08:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VB.net] E-Mail Versand via Smtp

Discussion on [VB.net] E-Mail Versand via Smtp within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
Engel's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 472
Received Thanks: 20
Lightbulb [VB.net] E-Mail Versand via Smtp

Da ich in letzter Zeit hier einige Tutorials zum Thema gefunden habe möchte ich euch meins auch nicht vorenthalten. Ich hoffe es ist leicht verstädnlich und ihr lasst mir was feedback hier.

In diesem kleinen Tutorial möchte ich euch zeigen wie ihr schnell und einfach in Vb.net
den Inhalt einer Textbox als E-Mails mit Anhang via Smtp verschicken könnt.
Ich habe zum Erstellen Visual Basic 2008 Express benutzt.
Ich werde euch jetzt Schritt für Schritt meinen Beispielcode erklären.



Erstellt zu allererst eine neue Windows-Forms Anwendung
( Datei > Neues Projekt > Windows-Forms Anwendung)
Dieser Form fügt ihr 2 Textboxen , 1 Checkbox und 1 Command Button hinzu.
(Ihr könnt euch an meinem Bild orientieren. )

Weiter gehts mit dem Code
Mit einem Doppelklick auf den Command Button öffnet ihr die Code Ansicht.



Auf gehts !

Damit unser Code funktionieren kann wie er soll , müsst ihr außerhalb der Public Class (Wichtig!)
Die Zeile
Quote:
Imports System.Net.Mail
hinzufügen.

Weiter gehts mit unserem Button. Da unser Programm auf Knopfdruck eine E-Mail versenden soll ,
muss der folgende Code in der Routine des Buttons stehen.
(Ihr könnt natürlich auch eine eigene Routine erstellen und sie nach Bedarf aufrufen. )

Als erstes wird in unserem Beispielcode die Variable Msg als MailMessage definiert
und die Variable myCredentials als System.Net.NetworkCredential .
(Wie jedem klar sein sollte könnt ihr die Variablen frei bestimmen.)

Um eine E-Mail verschicken zu können brauchen wir einen Postausgansserver.
Der nächste Teil unseres Codes beschäftigt sich mit diesem Smtpserver.

Die Variable mySmtpsvr wird als unser Ausgansserver definiert.
In der Zeile
Quote:
mySmtpsvr.Host = " smtp.provider.de"
legen wir die Adresse unseres Ausgangsservers fest.
In
Quote:
mySmtpsvr.Port = 25
bestimmen wir noch den dazugehörigen Port.

Falls ihr die Adresse oder den Port nicht wisst hilft euch ein Blick auf


Um E-Mails verschicken zu können müsst ihr euch aber auch an eurem Ausgangsserver anmelden.
Die nächsten Zeilen des Programms beschäftigen sich damit.
Quote:
myCredentials.UserName = "Beispiel_Username"
myCredentials.Password = "Beispiel_Passwort"
mySmtpsvr.UseDefaultCredentials = False
mySmtpsvr.Credentials = myCredentials
Diseser Teil sollte soweit eigentlich klar sein. Ihr speichert unter myCredentials.UserName euren Benutzernamen
und unter myCredentials.Password euer Passwort ab.
Da wir uns in unserem mit unseren Anmeldedaten anmelden muss mySmtpsvr.UseDefaultCredentials
= False sein. ( Wir benutzen keine Default Credentials - sondern unsere ! )
Zu guterletzt bestimmen wir mit
Quote:
mySmtpsvr.Credentials = myCredentials
das wir uns mit unseren Credentials an dem Server anmelden möchten.

Weiter gehts mit unserer E-Mail.
Ich habe die Routine in den Try Block gesetzt um Fehler (Zb. beim anhängern einer Datei)mit einer MsgBox abzufangen.
Falls ihr euch bis jetzt noch nicht mit der IOException Klasse auseinander gesetzt habt und Fehler
entstehen sollten könnte euch ein Blick auf weiterhelfen.


Als allererstes bestimmen wir mit
Quote:
Msg.IsBodyHtml = False
das der Inhalt unserer E-Mail kein Html Code ist.
Solltet ihr versuchen die E-Mail in Html zu gestalten muss der Wert natürlich auf True geändert werden.
In
Quote:
Msg.From = New MailAddress("")
wird die Absendeadresse bestimmt.
(Die E-Mail Adresse von der ihr eure E-Mails verschickt.)
Weiter gehts mit
Quote:
Msg.To.Add(TextBox1.Text)
. Hier bestimmt ihr den Empfänger eurer Email
In meinem Beispiel wird der Empfänger per Eingabe aus der Textbox1.text ermittelt.
Solltet ihr eine statische E-Mail Adresse verwenden wollen müsst ihr diese E-Mail Adresse in " " in der Klammer eintragen.
Zb. : Msg.To.Add("Empfä")
Mit
Quote:
Msg.Subject = "Vb.net E-Mail Versand via Smtp"
bestimmen wir unseren E-Mail Betreff.
Jetzt gehts zum Text.
Quote:
Msg.Body = "Vordefinierter Text" + TextBox2.Text
In dem Beispiel wird ein vordefinierter Text des Programmierers + die Benutzereingabe(Textbox2.text) versendet.


Zum Schluss wollen wir noch das wenn die Checkbox markiert wird ein Anhang angehängt wird.
Wir definieren zuerst unsere Variable att als Anhang
Quote:
Dim att As Attachment = Nothing
Danach bestimmen wir mit
Quote:
att = New Attachment("C:\Documents and Settings\All Users\Documents\SC\Anhang.txt")
den Pfad zu unserem anhang. Dieser ist in meinem Beispiel fest.
Ihr könnt diesen natürlich auch über eine Benutzereingabe bestimmen.

Quote:
If CheckBox1.Checked = True Then Msg.Attachments.Add(att)
Zu guterletzt bestimmen wir noch das der Anhang nur angehängt wird wenn die Checkbox markiert wird.

Mit mySmtpsvr.Send(Msg)senden wir dann unsere E-Mail die auf unseren eingebenen Daten basiert.

Zum Schluss noch eine Msgbox wenn alles gut läuft.
Quote:
MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
Und
Quote:
Catch ex As Exception
MsgBox("E-Mail wurde nicht gesendet.", MsgBoxStyle.Critical, Title:="Fehler")
falls etwas schief läuft.



Geschafft !

Ich habe versucht dieses Tutorial so Anfängerfreundlich wie möglich zu halten und hoffe ihr konntet mir gut
durch dieses Tutorial folgen. Falls ihr euch nicht selbst durch den Code
arbeiten wollt biete ich euch noch das ganze VB.net Projekt zum Download an.

Engel is offline  
Thanks
5 Users
Old 05/08/2010, 19:07   #2


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
Sehr schön und nice erklärt.
Aber bitte noch Virenscan unter den Download packen, danke.
Jeoni is offline  
Thanks
1 User
Old 04/22/2012, 11:51   #3
 
elite*gold: 0
Join Date: Oct 2011
Posts: 10
Received Thanks: 1
Ich stimme Jeoni der mich auf dieses Tut aufmerksam gemacht hat völlig zu. super gemacht!!!
Yauleen is offline  
Reply

Tags
smtp, tutorial, vb-net, visual basic


Similar Threads Similar Threads
Versand
05/02/2010 - Off Topic - 2 Replies
Hallo, Ich suche einen Service von Dhl,DPD,Deutsche Post oder HErmes wo mann ein Paket inerhalb 24Stunden versenden kann, kann mir einer einen Link schicken wo die Preise dafür stehen?? mfg
[VB 2008]Simple Mail Transfer Protocol/SMTP
04/30/2010 - Coding Tutorials - 4 Replies
Hey in diesem Tutorial möchte ich euch zeigen wie ihr mit Visual Basic 2008 ein Programm schreibt welches den Inhalt von 2 Textboxen an eine web.de e-mail adresse schickt. Wir benötigen dazu: eine e-mail adresse bei web.de 2 Textboxen 2 Buttons Als erstes erstellen wir eine Windows Forms-Anwendung
Ware durch versand kapuut was tun ?
11/10/2008 - Off Topic - 10 Replies
Hallo ich habe vor nicht allzulanger Zeit hier meine Psp an Dron verkauft. Nun ist sie durch den Versand kaputt gegangen (Display). Er hat sich bei Hermes gemeldet weil wir dachten es sei durch die Kälte Kaputtgegangen. Aber wir wussten es nicht genau. Hermes hat trotz versicherten versandes nichts unternommen weil die Packete nicht gegen Temperaturen versichert sind. Aber wie gesagt wir wussten nicht an was der Schaden genau zustande gekommen ist und er hat halt denen ne Mail wegen...



All times are GMT +1. The time now is 08:31.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.