Emails versenden mit ASPEmail
Geschrieben von: Christian Holm 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):
InstallationNach 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 versendenDas 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 versendenDa 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ßbemerkungDieser 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 CodesKlicken Sie hier, um den Download zu starten. Verwandte Artikel
ACT MetaMailer - Mails verschicken leicht gemacht Links zu anderen SitesWenn 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.
©2000-2006 AspHeute.com |