Help and Support

Artikel-ID: 507724 - Geändert am: Sonntag, 25. November 2007 - Version: 2.1

EMail ohne Installation eines EMail Clients versenden

Dieser Artikel wurde zuvor veröffentlicht unter D34503
Alles erweitern | Alles schließen

Problembeschreibung

Ich arbeite mit Microsoft Internet Information Server 3.0. Dort habe ich die Active Server Pages Erweiterungen installiert. Als EMailsystem liegt Microsoft Exchange 5.0 vor.

Auf einer Intranet-Internetseite sollen Anwender Text eingeben können. Dieser Text soll als EMail an einen festgelegten Empfänger versendet werden. Verwende ich den Schalter MailTo z.B.
   <A HREF="MailTo:Admin">Sende EMail </A>
wird auf dem Client das EMailsystem gestartet. Hier kann der Anwender Text eingeben und das EMail versenden. Nun kann es vorkommen, daß manche Clients nicht über ein EMailsystem verfügen. Wie kann ich vorgehen, daß Clients ohne ein installiertes EMailsystem EMails versenden können ?

Lösung

Die nachfolgenden Erläuterungen und der Beispielcode beschreiben die genaue Vorgehensweise:
  • auf einer HTML-Seite wird in einer Textarea der Emailtext eingeben.
  • durch Mausclick wird der eingebene Text an eine Active Server Page - ASP übergeben.
  • auf dem Server ist ein OLE fähiges EMailsystem installiert (in diesem Beispiel Microsoft Exchange Server 5.0).
  • über die OLE Schnittstelle wird nun das EMail gesendet.
Bitte beachten Sie, daß gültige Berechtigungen für den OLE Server (hier: MAPI Session 1.0) gesetzt werden müssen (Zugriff, Aufruf, Ändern). Die Berechtigungen können Sie mit dem Programm DCOM (DCOMCNFG.EXE) festlegen.

EMail.htm:

<HTML>
<BODY>

Hier bitte den EMailtext eingeben:

<FORM ACTION="/Scripts/Senden.asp">
<TEXTAREA Name="Text1" Cols=50 Rows=10></TEXTAREA>
<P>
<INPUT TYPE="submit" Name="Command1" VALUE="EMail senden">
</FORM>
</BODY>
</HTML>


Senden.asp:

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>
<BODY>
<%
Text1 = Request.QueryString("Text1")

Dim objSession
Dim objMessage
Dim objOneRecip

Set objSession = CreateObject("MAPI.Session")

'Log on, das Mailprofile ist anzugeben
objSession.Logon ("Mein Profile")

'eine neue Nachricht erstellen und deren Eigenschaften setzen
Set objMessage = objSession.Outbox.Messages.Add
objMessage.Subject = "EMail von " &
Request.ServerVariables("LOGON_USER")

objMessage.Text = Text1

'Empfaenger der Nachricht bestimmen
Set objOneRecip = objMessage.Recipients.Add
objOneRecip.Name = "MeinEmpfaenger"
objOneRecip.Type = 1
objOneRecip.Resolve

'Exchange bleibt unsichtbar, gesendete Nachricht wird nicht gespeichert
objMessage.Send 0, 0

'log off
objSession.Logoff

Set objSession = Nothing
Set objMessage = Nothing
Set objOneRecip = Nothing

Response.Write "Das EMail wurde erfolgreich abgesendet !"
%>

</BODY>
</HTML>

Die Verwendung der hier aufgeführten Information, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen, sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung. Bei Makro- und Programmlistings soll lediglich exemplarisch die Funktionsweise des Beispiels aufgezeigt werden.

Microsoft, MS, Internet Information Server und Exchange sind eingetragene Warenzeichen.
Windows und Windows NT sind Warenzeichen der Microsoft Corporation.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Information Server 3.0
  • Microsoft Exchange Server 2003 Standard Edition
Keywords: 
asp login createobject logoff dcomcnfg.exe mapi.session KB507724
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.