Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Webserversteuerelemente
  gp 8.1 Webserversteuerelemente formatieren
    gp 8.1.1 Die FontInfo-Klasse
    gp 8.1.2 Die System.Drawing.Color-Struktur
    gp 8.1.3 Die Klasse Unit und die Enumeration UnitType
  gp 8.2 Button
    gp 8.2.1 OnClick
    gp 8.2.2 OnCommand
  gp 8.3 LinkButton
  gp 8.4 ImageButton
  gp 8.5 HyperLink
  gp 8.6 Label
  gp 8.7 Literal
  gp 8.8 Panel
  gp 8.9 TextBox
    gp 8.9.1 Mit JavaScript den Fokus setzen
  gp 8.10 CheckBox
  gp 8.11 Image
  gp 8.12 Webserversteuerelemente für Tabellen
  gp 8.13 RadioButton
  gp 8.14 Calendar
  gp 8.15 AdRotator
  gp 8.16 E-Mails versenden
    gp 8.16.1 Versand von E-Mails mit der Klasse SmtpMail
    gp 8.16.2 E-Mails mit der Klasse MailMessage erstellen


Galileo Computing

8.16 E-Mails versenden  downtop

Am Ende dieses Kapitels sollen einige Hinweise stehen, wie Sie mit ASP.NET E-Mails versenden können. Dafür gibt es kein Webserversteuerelement, aber einige spezielle Klassen aus dem .NET Framework. Die für den Mailversand benötigten Klassen stehen im Namespace System.Web.Mail zur Verfügung. Diesen Namespace sollten Sie in aspx-Seiten, die E-Mails versenden, mit einer Import-Direktive importieren:

<%@ Import Namespace="System.Web.Mail" %>

Galileo Computing

8.16.1 Versand von E-Mails mit der Klasse SmtpMail  downtop

email01.aspx demonstriert die einfachste Methode, eine E-Mail zu erstellen und zu versenden.

<!-- email01.aspx -->
<%@ Page Language="VB" Debug="True" Strict="True" %>
<%@ Import Namespace="System.Web.Mail" %> 
<script runat="server">
Sub Page_Load (ByVal Sender As Object, _
               ByVal E As EventArgs)
Dim mailFrom As String = "von@meineDomain.de"
Dim mailTo As String = "an@meineDomain.de"
Dim mailSubject As String = "Test-Mail mit ASP.NET"
Dim mailBody As String  = "Das ist ein Test."
SmtpMail.Send(mailFrom, mailTo, mailSubject, mailBody)
End Sub 
</script>
<html><body><head><title>Versand von E-Mails</title>
</head>
<h3>Versand von E-Mails</h3>
</body></html>

Beim Laden der Seite wird eine Mail verschickt. Die Klasse System.Web. Mail.SmtpMail verfügt über die statische Methode Send. Dieser Methode können Sie die Minimalausrüstung einer jeden Mail, also die Angaben zu Absender, Empfänger, Betreffzeile und Nachrichtentext, als Strings übergeben.

Die Klasse SmtpMail hat die öffentliche, statische Eigenschaft SmtpServer. Hier können Sie den SMTP-Server angeben. Wenn Sie keine Angabe machen, verwendet ASP.NET den lokal verfügbaren Mailserver. Wenn Sie beispielsweise den SMTP-Mail-Server mailoutserver.meineDomain.de verwenden möchten, können Sie vor dem Send-Befehl diese Angabe machen:

SmtpMail.SmtpServer="mailoutserver.meineDomain.de"

Galileo Computing

8.16.2 E-Mails mit der Klasse MailMessage erstellen  toptop

Wenn Sie nicht nur einfache Mitteilungen, sondern auch Anhänge verschicken möchten, müssen Sie die Klassen MailMessage und MailAttachment zu Hilfe nehmen. In einem Objekt der Klasse MailMessage definieren Sie Ihre Mail. Dafür verfügt die Klasse MailMessage unter anderem über die Eigenschaften From, Bcc, Cc, BodyFormat, BodyEncoding, To, Subject und einige weitere.

Dateianhänge erstellen Sie mit Hilfe der Klasse MailAttachment. Zunächst erstellen Sie ein MailAttachment-Objekt.

Dim myAttachment As New MailAttachment _
                    ("c:\beispiel.txt")

Anschließend fügen Sie dieses MailAttachment-Objekt an das MailMessage-Objekt an:

myMail.Attachments.Add (myAttachment)

Auch diese Mail verschicken Sie mit dem Befehl SmtpMail.Send. Der Befehl Send ist überladen. Statt vier Strings kann er auch ein MailMessage-Objekt entgegennehmen. email02.aspx demonstriert im Zusammenhang, wie Sie eine Mail mit Dateianhang versenden können.

<!-- email02.aspx -->
<%@ Page Language="VB" Debug="True" Strict="True" %>
<%@ Import Namespace="System.Web.Mail" %> 
<script runat="server">
Sub Page_Load (ByVal Sender As Object, _
               ByVal E As EventArgs)
Dim mailFrom As String = "von@meineDomain.de"
Dim mailTo As String = "an@meineDomain.de"
Dim mailCC As String = "auchAn@meineDomain.de"
Dim mailBCC As String = "geheimAn@meineDomain.de"
Dim mailSubject As String = "Test-Mail mit ASP.NET"
Dim mailBody As String  = "Das ist ein Test."

Dim myMail As New MailMessage
myMail.From = mailFrom
myMail.To = mailTo
myMail.Cc = mailCC
myMail.Bcc = mailBCC
myMail.Subject = mailSubject
myMail.Body = mailBody

Dim myAttachment As New MailAttachment _
                    ("c:\beispiel.txt") 

myMail.Attachments.Add (myAttachment)

SmtpMail.SmtpServer="mailoutserver.meineDomain.de"
SmtpMail.Send(myMail)
End Sub 
</script>
<html><body><head><title>Versand von E-Mails mit Anhang
</title>
</head>
<h3>Versand von E-Mails mit Anhang</h3>
</body></html>
  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de