DevTrain

Autor: Hannes Preishuber

Mails über Exchange Server aus ASP versenden

Wenn Sie auf einem Exchange Server versuchen den SMTP Server zu installieren werden Sie scheitern. Erst ab Version 2000 ist dies möglich. Um also Mails zu versenden fällt CDONTS aus.
Der Microsoft Exchange Server (5.0, 5.5)  besitzt ein eigenes Zugriffsobjekt. CDO Colloberative Data Object ist sehr komplex zu programmieren, erlaubt aber Zugriff auf alle Daten des Exchange Stores. Im Endeffekt kapselt CDO das Mapi objekt. Dies setzt auch vorraus, das man nur über authentifizierte Benutzer auf den Exchange Server zugreifen kann. Das bedeutet das

  1. entweder der Anonymous im IIS deaktiviert wird
  2. oder ein Exchange User als Anonymous verwendet wird

Denken Sie auch immer daran, das die Mapi Clients auch Mapi Profile vorraussetzen.

Folgender Code funktioniert nur am Exchange Server oder auf einem Server auf dem OWA (Outlook Web Access) installiert ist. Achten Sie auch darauf, das "my_name" auch der Aliasname im Exchange System sein kein.

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>
<BODY LANGUAGE=VBS>
<%
Const cStrServer = "my_exchangeserver"
Const cStrMailbox = "my_name"

'insert a line feed
bstrProfileInfo = cStrServer & vbLf & cStrMailbox

'create session
Set objSess = Server.CreateObject("mapi.session")
objSess.Logon "", "", False, True, 0, True, bstrProfileInfo

Set objFBMess = objSess.Outbox.Messages.Add
objFBMess.Subject = "Test Nachricht"
objFBMess.Text = "ob das wohl funzt?"

Set objRecips = objFBMess.Recipients
' e-mail name to send
objRecips.Add ("asp@ppedv.de")

'message to
objRecips.Resolve
objFBMess.Send
objSess.Logoff
%>
mail versandt!
</BODY>
</HTML>

Der entscheidende Knackpunkt ist die Logon Geschichte. Bei fehlenden Rechten bzw falscher Mailbox kommt folgende Fehlermeldung. Dann bitte extrem auf Authentifizierung achten.

Active Messaging error '80040111'
The information store could not be opened. [MAPI 1.0 -
[MAPI_E_LOGON_FAILED(80040111)]]

Eine unerschöpfliche Resource zum Thema CDO ist www.cdolive.com.

In weiteren Beiträgen, werden wir zeigen wie man auf die Public Folders zugreifen kann.


Erfasst am: 13.03.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=375
© Copyright 2003 ppedv AG - http://www.ppedv.de