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

Emails versenden mit ASPEmail

Geschrieben von: Christian Holm
Kategorie: Komponenten

This printed page brought to you by AlphaSierraPapa

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:

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

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.

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20010219.zip

Verwandte Artikel

ACT MetaMailer - Mails verschicken leicht gemacht
http:/www.aspheute.com/artikel/20021028.htm
Email versenden mit AspMail
http:/www.aspheute.com/artikel/19990809.htm
Emails mit ASP.NET und VB.NET versenden
http:/www.aspheute.com/artikel/20010122.htm
Emails mit ASP.NET versenden
http:/www.aspheute.com/artikel/20000918.htm
Emails mittels CDOSYS versenden
http:/www.aspheute.com/artikel/20000919.htm
Emails senden mit CDONTS
http:/www.aspheute.com/artikel/20000515.htm
Html Emails mit Dundas Mailer verschicken
http:/www.aspheute.com/artikel/20010625.htm

Links zu anderen Sites

ASPEmail 4.5
http://www.aspemail.com
Persits Software
http://www.persits.com

 

©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.