Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Emails versenden mit ASPEmail

Geschrieben von: Christian Holm
Kategorie: Komponenten

Die Email Komponente AspEmail 4.5 von Persits Software bietet eine einfache Möglichkeit via ASP Emails zu versenden. Dieser Artikel zeigt Ihnen, wie man mit Hilfe dieser Komponente Emails als normalen Text oder als HTML formatierten Text versendet.

Beachte: Da die ASPEmail 4.5 Komponente von Persits Software erstellt wurde und u.a. kommerziell vertrieben wird, ist sie nicht im Download dieses Artikels enthalten. Dieser Artikel enthält lediglich Sourcecode der auf dieser Komponente aufbaut.

Daher müssen Sie, um den Sourcecode verwenden zu können, zuerst die Komponente downloaden, installieren bzw. auf einem IIS (ab Version 3.0) oder PWS (jede Version) die mitgelieferte DLL-Datei registrieren. Um die Emails auch verschicken zu können, benötigen Sie natürlich zusätzlich einen Zugriff auf einen SMTP-Server.

Bevor man sich zum Kauf der Vollversion entschließt, kann man die Komponente 30 Tage lang uneingeschränkt testen. Nach Anblauf der Frist sind nur mehr die grundsätzlichen Features verwendbar, die man aber sozusagen bis in die Ewigkeit gratis verwenden kann.

Damit der Kaufreiz besteht - wie immer bei kommerziellen Dingen - bietet nach dem Kauf die Vollversion unlimitierten Zugriff auf sogenannte "Premium"-Features. Die wichtigsten sind:

  • AltBody: Mit dieser Eigenschaft können Sie HTML-formatierten Emails eine Nur-Text Version "beilegen"
  • Username und Password: Diese Eigenschaften gewährleisten einen Authenticated Login bei SMTP Servern, die diese Funktion benötigen
  • CharSet: Mit dieser Eigenschaft können Sie ein anderes Character Set als den US-ASCII angeben
  • SendToNewsgroup: Unterstützung des NNTP Protokolls
  • SendToQueue: Bietet die Möglichkeit auf einem SMTP Server eine Email-Queue (Warteschlange) anzulegen

Premium hat auch seinen Preis (zum Zeitpunkt des Erscheinens des Artikels):

  • Single Server License: Gültig für einen Server - USD 99.95,-
  • Enterprise License:
  • Gültig für beliebig viele Server innerhalb einer Firma oder Site - USD 299.95,-

Installation

Nach dem erfolgreichen Download einfach die aspemail.exe Datei ausführen und die Anweisungen befolgen. Nach der Registration mittels regsvr32 LW:\AspEmailDir\AspEmail.dll auf dem Web Server kann es schon fast losgehen.

Da das Verschicken von Attachments nicht Thema des heutigen Artikels ist, brauchen Sie für die Ausführung der nun folgenden zwei Beispiel ASP Dateien die ASPUpload Komponente nicht unbedingt registrieren.

Plain Text Emails versenden

Das ist die einfachste Aufgabe für die Komponente, und wir wollen daher auch gleich mit der Sourcecode-Besprechung beginnen (SendEmail.asp):

strSMTPHost = "192.168.3.33"
strError=""

If Request("Send") <> "" Then
    Set Mail = Server.CreateObject("Persits.MailSender")
    Mail.Host = strSMTPHost
    
    Mail.From = Request("From")
    
    Mail.AddAddress Request("To")
    
    Mail.Subject = Request("Subject")
    
    Mail.Body = Request("Body")
        
    On Error Resume Next
    Mail.Send
        
    If Err <> 0 Then
        strError = Err.Description
    End If
End If

Zuerst legen wir die Hostadresse des SMTP-Servers fest, die wir in der Variable strSMTPHost speichern. Für den Fall, daß der Client nach dem Ausfüllen der Formularfelder (siehe später) auf den "Send" Button klickt, wird dieser Sourcecode Block ausgeführt. Zuerst erstellen wir das für die ASPEmail Komponente erforderliche Objekt namens Persits.MailSender.

Danach holen wir uns die vom Client eingegebenen Informationen und können nun auch schon die Email als plain Text verschicken. Die primitive Fehlerbehandlung behandelt nur Ausführungsfehler in Bezug auf die Emailversendung. Eine Client-Eingabevalidierung habe ich der Einfachheit weggelassen.

Hier wird dann im Fall eines Fehlers im If-Block - der für die Fehlerbehandlung zuständig ist - eine Fehlermeldung ausgegeben:

<% If strError <> "" Then %>
<p>Error: <b><% = strError %></b></p>
<% End If %>

Werfen wir noch einen raschen Blick auf das Formular:

<form method="POST" action="SendEmail.asp">

<table cellspacing="2" cellpadding="2" border="0">
  <tr>
    <td colspan="2">SMTP Server Address: <b><% = strSMTPHost %></b></td>
  </tr>
  <tr>
    <td>From:</td>
    <td><input type="text" name="From" size="53"></td>
  </tr>
  <tr>
    <td>To:</td>
    <td><input type="text" name="To" size="53"></td>
  </tr>
  <tr>
    <td>Subject:</td>
    <td><input type="text" name="Subject" size="53"></td>
  </tr>
  <tr>
    <td valign="top">Body:</td>
    <td><textarea cols="40" rows="10" name="Body"></textarea></td>
  </tr>
  <tr>
    <td colspan="2" align="right"><input type="submit" name="Send" value="Send"></td>
  </tr>

</table>

</form>

Nun - vorausgesetzt die Komponente wurde erfolgreich installiert - können wir die Beispiel ASP Datei (SendEmail.asp) in einem Web Browser ausführen:

HTML formatierte Emails versenden

Da die Komponente dieses Feature von Haus aus unterstützt, ist die Codierung sehr einfach. Daher erweitern wir den vorigen Sourcecode um diese Funktionalität - dadurch werden zwar die Emails KB-mäßig größer, aber es ist nun mal nicht jeder SysAdmin.

Wir erweitern also den bestehenden Sourcecode um die paar Zeilen (SendEmailHTML.asp):

If Request("AsHTML") <> False Then
    Mail.IsHTML = True
    Mail.Body = "<html><body>" & strBody & "</body></html>"
    Mail.Send
    strMsg ="Email sent as HTML"
Else
    Mail.IsHTML = False
    Mail.Body = strBody
    Mail.Send
    strMsg ="Email sent as plain text"
End If

Die HTML-isierung übernimmt wie gesagt die Komponente. Damit sie sich beim Parsen nicht verschluckt, setzen wir die IsHTML Property auf True.

Für den Fall, daß es noch HTML Enthusiasten gibt, die unbedingt Ihren Emails den persönlichen Touch geben wollen, ermöglicht die Checkbox AsHTML die HTML Formatierung. Daher auch die Änderung im Formular:

...
<tr>
    <td>Send as Html:</td>
    <td><input type="checkbox" name="AsHTML" value="0"></td>
    <td align="right"><input type="submit" name="Send" value="Send"></td>
</tr>
...

Die Variable strMsg dient lediglich zum Zwecke der Information. Ausgeführt in einem Browser sieht das Schreiben einer HTML formatierten Email So aus:

Wie gesagt nur was für Enthusiasten. Natürlich könnte man den Sourcecode erweitern und z.B. wie in Email Client-Programmen oder in Textverarbeitungsprogrammen lustig-bunte Buttons integrieren damit sich die Herrschaften austoben können - aber das ist eine andere Geschichte.

Schlußbemerkung

Dieser Artikel präsentierte Ihnen die Send Methode der ASPEmail 4.5 Komponente von Persits Software. Die Einfachheit der Anwendung bzw. Integration in bestehenden Sourcecode ist verlockend und der Funktionsumfang ist erstaunlich - zumal ein Gutteil gratis verwendet werden kann.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

ACT MetaMailer - Mails verschicken leicht gemacht
Email versenden mit AspMail
Emails mit ASP.NET und VB.NET versenden
Emails mit ASP.NET versenden
Emails mittels CDOSYS versenden
Emails senden mit CDONTS
Html Emails mit Dundas Mailer verschicken

Links zu anderen Sites

ASPEmail 4.5
Persits Software

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.