Beschreibung von CDONTS und der Behandlung von CDONTS-Problemen in Windows 2000 und Windows NT 4.0

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 324649 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
324649 Description of CDONTS and how to troubleshoot CDONTS problems in Windows 2000 and in Windows NT 4.0
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Einführung

Dieser Artikel beschreibt Collaboration Data Objects für Microsoft Windows NT Server (CDONTS). Der Artikel stellt zudem Problembehandlungsverfahren für Fehler bereit, die auftreten können, wenn Sie ein Objekt erstellen oder eine Nachricht senden. Damit Sie Probleme behandeln können, die beim Verwenden von CDONTS-Objekten auftreten können, müssen Sie wissen, was bei der Ausführung des Codes vor sich geht. Typischerweise treten Probleme nicht im Zusammenhang mit dem Code selbst auf. Probleme werden im Allgemeinen durch die Einrichtung des SMTP-Dienstes (SMTP = Simple Mail Transfer Protocol) verursacht.

Definition von CDONTS

CDONTS ist eine COM-Komponente, die die folgenden Objektschnittstellen verfügbar macht:
  • Das NewMail-Objekt
  • Das Sitzungs-Objekt
Das NewMail-Objekt ist hierbei das am häufigsten verwendete Objekt.

CDONTS wird in erster Linie von Webentwicklern als Thin Client für das Mailen von Webformularen verwendet. Die DLL-Datei für CDONTS, auch unter dem Dateinamen "Cdonts.dll" bekannt, wird mit Microsoft Windows NT Option Pack 4 installiert. Der SMTP-Dienst muss ebenfalls installiert werden. Windows NT Option Pack 4 wird mit Abwärtskompatibilität für Microsoft Windows 2000 installiert. Microsoft empfiehlt jedoch für das Betriebssystem Windows 2000 die Version CDO für Windows 2000 (CDOSYS).

CDONTS arbeitet direkt mit dem SMTP-Dienst auf dem Internet Information Services (IIS)-Computer zusammen.

Funktionsweise von CDONTS

Verwenden Sie den folgenden ASP-Beispielcode, um die Funktionsweise von CDONTS demonstriert zu bekommen:
Dim objMail
Set objMail = CreateObject("CDONTS.NewMail")
ObjMail.Send "yourmail@somewhere.com", "someone@somewhere.com", "Subject", "This is the body."
Set objMail = Nothing
Nachfolgend erhalten Sie eine Beschreibung der in diesem Beispielcode ablaufenden Aktionen:
  1. Das Variablenobjekt objMail wird erstellt.
  2. Das Objekt CDONTS.NewMail wird erstellt, und anschließend wird das Objekt CDONTS.NewMail dem Variablenobjekt objMail zugewiesen.
  3. Die Methode Send des NewMail-Objekts wird ausgeführt und anschließend an die Absender-E-Mail-Adresse, die Empfänger-E-Mail-Adresse, den Betreff und den Text übergeben.
  4. Das Variablenobjekt objMail wird gelöscht, indem das Objekt auf Nothing gesetzt wird.
Hinweis: Wenn Sie ein CDONTS-Problem behandeln, stellen Sie sicher, dass der vorangegangene Beispielcode aus einer ASP-Seite oder einer VBS-Datei funktioniert. Wenn der Code nicht funktioniert, liegt kein Codeproblem vor, sondern es handelt sich wahrscheinlich um ein Problem mit der Einrichtung des SMTP-Dienstes.

Erstellen eines NewMail-Objekts

Wenn Sie ein NewMail-Objekt erstellen, durchsucht der Prozess die Registrierung und ermittelt den Speicherort der Datei "Cdonts.dll". Der Speicherort der Datei "Cdonts.dll" wird aus dem Schlüssel InProcServer32 gelesen. Das NewMail-Objekt wird erstellt und anschließend in den Speicher gesetzt.

Aufrufen der Send-Methode

Wenn Sie die Methode Send aufrufen, greift das NewMail-Objekt auf die Metabasis zu, um zu ermitteln, wo die E-Mail-Datei (.eml) abgelegt werden soll. Das NewMail-Objekt erstellt eine E-Mail-Nachricht basierend auf den Feldern, die im NewMail-Objekt definiert sind, und schreibt anschließend die EML-Datei in das in der Metabasis angegebene Verzeichnis.

CDONTS ist nun abgeschlossen. Der verbleibende Prozess wird vom SMTP-Dienst durchgeführt.

Problembehandlung

Sie können die folgenden Verfahren zur Problembehandlung verwenden.

Erkennen der Fehler, die durch Objekt-Fehlermeldungen angezeigt werden

Es werden möglicherweise folgende Fehlermeldungen angezeigt:

Fehlermeldung 1
Laufzeitfehler 429 - Objekterstellung durch ActiveX-Komponente nicht möglich
Fehlermeldung 2
Fehler '8002801d' Bibliothek nicht registriert
Weitere Informationen zur Fehlermeldung 8002801d finden Sie im folgenden Artikel der Microsoft Knowledge Base:
259176 Wenn Sie ein CDONTS.NewMail Object erstellen, tritt Fehler8002801d ein
Diese Fehlermeldungen können aus den folgenden Gründen auftreten:
  • Wenn der Prozess die Registrierung durchsucht, um den Speicherort der Datei "Cdonts.dll" zu ermitteln, erhält der Prozess möglicherweise keinen Zugriff auf die Registrierungsschlüssel, oder die Registrierungsschlüssel sind in der Registrierung nicht vorhanden.

    Vergewissern Sie sich zum Beheben dieses Problems, dass der SMTP-Dienst für IIS installiert ist und dass die Datei "Cdonts.dll" auf dem Computer vorhanden und registriert ist.

    Wenn die Datei "Cdonts.dll" nicht registriert ist, gehen Sie folgendermaßen vor, um die Datei zu registrieren:

    Klicken Sie auf Start und auf Ausführen, geben Sie Regsvr32 CDONTS.dll ein, und klicken Sie auf OK.
  • ASP wird auf einem Terminalserver ausgeführt. Weitere Informationen zu dieser Fehlermeldung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    217067 BUG: BUG: CDONTS Newmail Object schlägt auf Terminaldiensteclient fehl
  • Es bestehen Berechtigungsprobleme. Melden Sie sich mit Administratorrechten bei dem Computer an, um festzustellen, ob das Problem durch Berechtigungsprobleme verursacht wird. Erstellen Sie eine VBS-Datei auf Ihrem Desktop, indem Sie den Beispielcode aus dem Abschnitt Funktionsweise von CDONTS verwenden. Verwenden Sie nicht die ASP-Tags.

    Als weiteres Verfahren zur Behandlung von Berechtigungsproblemen können Sie das virtuelle Verzeichnis in IIS so einrichten, dass nur Standardauthentifizierung verwendet wird, und dann als Administrator auf die Seite zugreifen.

    Wenn immer noch Berechtigungsprobleme bestehen, entfernen Sie den SMTP-Dienst für IIS, installieren Sie den SMTP-Dienst für IIS neu, und installieren Sie anschließend Windows NT Option Pack 4 neu.

Erkennen der Fehlermeldung, die auftritt, wenn Sie eine Nachricht senden

Wenn Sie versuchen, eine Nachricht zu senden, wird möglicherweise die folgende Fehlermeldung angezeigt:
Microsoft VBScript-Laufzeitfehler '800a0046' Zugriff verweigert
Weitere Informationen zu dieser Fehlermeldung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
286301 Fehlerlaufzeit800a0046 mit CDONTS.Newmail-Objekt
Dieses Problem tritt auf, wenn eine Anwendung in IIS außerhalb des Prozesses (Out-of-Process) ausgeführt wird. Wenn dieses Problem auftritt, wechselt der Benutzerkontext des Prozesses vom Konto "IUSR_Computername", das Zugriff auf die IIS-Metabasis hat, zum Konto "IWAM_Computername", das keinen Zugriff auf die IIS-Metabasis hat.

Dieser Fehler hat typischerweise zwei Ursachen.

Ursache 1: Das Benutzerkonto, unter dem die ASP-Seite oder das Skript ausgeführt wird, hat keine Berechtigungen für das Abholverzeichnis. Das Abholverzeichnis befindet sich typischerweise unter den folgenden Pfaden:
  • Computer, die nur IIS ausführen:
    C:\Inetpub\Mailroot\Pickup
  • Computer, die Microsoft Exchange 5.5 ausführen:
    Exchsrvr\Mailroot\Pickup
  • Computer, die Exchange 2000 ausführen:
    \Programme\Exchsrvr\Mailroot\Vsi #\Pickup
Das Benutzerkonto, unter dem die ASP-Seite oder das Skript ausgeführt wird, muss über die Berechtigung Ändern für das Abholverzeichnis verfügen, sodass das NewMail-Objekt die EML-Datei erstellen kann.

Ursache 2: Die Seite wird in ihrem eigenen Speicherbereich ausgeführt und erhält keinen Zugriff auf die IIS-Metabasis. Gehen Sie folgendermaßen vor, um zu überprüfen, ob dies der Fall ist:
  1. Klicken Sie auf Start und auf Ausführen, geben Sie Inetmgr ein, und klicken Sie auf OK.
  2. Klicken Sie mit der rechten Maustaste auf das Stammverzeichnis oder das virtuelle Verzeichnis, das Ihre Seite enthält, und klicken Sie auf Eigenschaften.
  3. Wenn Sie in Schritt 2 mit der rechten Maustaste auf das Stammverzeichnis geklickt haben, klicken Sie auf die Registerkarte Basisverzeichnis.

    Wenn Sie in Schritt 2 mit der rechten Maustaste auf das virtuelle Verzeichnis geklickt haben, klicken Sie auf die Registerkarte Virtuelles Verzeichnis.
  4. Stellen Sie auf einem Windows NT-Computer fest, ob das Kontrollkästchen In getrenntem Speicherbereich ausführen aktiviert ist. Wenn das Kontrollkästchen In getrenntem Speicherbereich ausführen aktiviert ist, deaktivieren Sie es. Alternativ können Sie im Menü Eigenschaften des SMTP-Dienstes auf die Registerkarte Operatoren klicken und dann das Konto "IWAM_Computername" hinzufügen.

    Stellen Sie auf einem Windows 2000-Computer fest, ob die Einstellung Anwendungsschutz auf Hoch (isoliert) gesetzt ist. Wenn die Einstellung Anwendungsschutz auf Hoch (isoliert) gesetzt ist, ändern Sie die Einstellung für Anwendungsschutz auf Mittel (zusammengefasst). Alternativ können Sie im Menü Eigenschaften des SMTP-Dienstes auf die Registerkarte Sicherheit klicken und dann das Konto "IWAM_Computername" zum Konto Operatoren hinzufügen.

Erkennen eines MTS-Fehlers

Infolge eines MTS-Fehlers (MTS = Microsoft Transaction Server) können die folgenden Fehlermeldungen angezeigt werden:

Fehlermeldung 1
Fehler bei Send-Methode (Send method error) '8009000d' Die Methode '~' für das Objekt '~' ist fehlgeschlagen
Weitere Informationen zu dieser Fehlermeldung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
235541 PRB: Anwendung von CDONTS, die in MTS ausgeführt wird, schlägt "Fehler800900d" fehl
Fehlermeldung 2
Fehlercode -2146893811 0x8009000D 'Der Schlüssel ist nicht vorhanden'
Weitere Informationen zu dieser Fehlermeldung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
223435 Err Msg: codiert Fehler -2146893811 0x8009000D "Schlüssel vorhanden ist nicht"
Installieren Sie Windows NT 4.0 Service Pack 6, um dieses Problem zu beheben. Sie können auch die Umgehungsmöglichkeiten verwenden, die in den vorangegangen Abschnitten in diesem Artikel beschrieben wurden.

Erkennen eines Pfadfehlers

Es werden möglicherweise folgende Fehlermeldungen angezeigt:

Fehlermeldung 1
ERROR_SHARING_VIOLATION
Fehlermeldung 2
SMTP-Fehler: 80070020: Der Prozess kann nicht auf die Datei zugreifen, da sie bereits von einem anderen Prozess verwendet wird
Diese Fehlermeldungen können aus den folgenden Gründen auftreten:
  • Der in der IIS-Metabasis angegebene Pfad für das Abholverzeichnis ist falsch, oder die Metabasis ist beschädigt. Verwenden Sie zum Beheben dieses Problems das Dienstprogramm "AdsUtil.vbs", um zu ermitteln, auf welchen Pfad für das Abholverzeichnis in der Metabasis gezeigt wird. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    238956 "Path fand Fehler 80070003 fehlerhaft CDONTS nicht"
  • Die Fehlermeldungen können auf einem Windows NT 4.0 Server-Computer auftreten, wenn Sie mehrere Nachrichten senden und wenn Sie nicht das Update zum Beheben dieses Problems angewendet haben. Weitere Informationen zu diesem Update finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    181697 Update: Probleme, die weitere Nachrichten senden, wenn weitere Nachrichten mehrere Threads verwenden

Abrufen von Nachrichten aus dem BadMail-Verzeichnis

Nachdem das CDONTS-Objekt die EML-Datei in das Abholverzeichnis geschrieben hat, übernimmt der SMTP-Dienst die Kontrolle. Der SMTP-Dienst verschiebt die Nachricht zur Verarbeitung in das Warteschlangenverzeichnis. Wenn etwas mit der E-Mail-Nachricht nicht stimmt, wird sie direkt in das BadMail-Verzeichnis verschoben. Wenn etwas mit dem SMTP-Dienst nicht stimmt, wird die E-Mail-Nachricht in das BadMail-Verzeichnis verschoben, oder sie bleibt in der Warteschlange, und es wird eine Rückgabedatei (.rtr) erstellt.

Wenn die Nachricht direkt in das BadMail-Verzeichnis geht, öffnen Sie die Nachricht mit dem Editor. Stellen Sie sicher, dass das Absenderfeld (X-Sender) und das Empfängerfeld (X-Receiver) gültige E-Mail-Adressen enthalten. Stellen Sie sicher, dass im Feld "Von" kein Anzeigename verwendet wird. Mit einem Anzeigenamen funktioniert die Aktion möglicherweise nicht. Dies hängt von den folgenden Faktoren ab:
  • Dem von Ihnen verwendeten Dienstanbieter
  • Den Smarthost-Einstellungen, die möglicherweise nicht gültig sind

Abrufen von Nachrichten aus dem Abholverzeichnis

Wenn die Nachricht im Abholverzeichnis bleibt, stellen Sie sicher, dass der SMTP-Dienst ausgeführt wird. Die E-Mail bleibt möglicherweise im Abholverzeichnis, wenn der Exchange Internet Mail-Dienst (IMS) auf demselben Computer wie der IIS SMTP-Dienst ausgeführt wird. Sie können entweder den Exchange IMS oder den IIS SMTP-Dienst ausführen, aber nicht beide.

Wenn auf Ihrem Computer der Exchange IMS ausgeführt wird, und die E-Mail bleibt im Abholverzeichnis unter "C:\Inetpub\Mailroot", zeigt die IIS-Metabasis auf das falsche Verzeichnis. Sie müssen die IIS-Metabasis ändern, sodass sie auf das Verzeichnis "C:\Exchsrvr\Imcdata\Pickup" zeigt. Sie können diese Änderung mit dem Dienstprogramm "AdsUtil.vbs" vornehmen. Weitere Informationen zum Zeigen auf ein Verzeichnis finden Sie im folgenden Artikel der Microsoft Knowledge Base:
238956 "Path fand Fehler 80070003 fehlerhaft CDONTS nicht"
Gehen Sie folgendermaßen vor, um zu überprüfen, ob der SMTP-Dienst ausgeführt wird:

Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie Telnet Localhost 25 ein, und klicken Sie auf OK.

Wenn Sie den Rückgabecode 220 erhalten, wird der SMTP-Dienst ausgeführt. Wenn Sie getrennt werden, wird der SMTP-Dienst nicht ausgeführt.

Abrufen von Nachrichten aus dem Warteschlangenverzeichnis

Wenn die E-Mail im Warteschlangenverzeichnis bleibt und eine .rtr-Datei erstellt wird, öffnen Sie die .rtr-Datei mit dem Editor. Durch Anzeigen der .rtr-Datei im Editor lässt sich das Problem möglicherweise ermitteln.

Resümee

Wenn sich die Probleme mithilfe dieser Problembehandlungsverfahren nicht beheben lassen, müssen Sie sich möglicherweise an einen Techniker wenden, damit dieser überprüft, ob die Probleme durch den IIS SMTP-Dienst verursacht werden. Bevor Sie dies tun, können Sie jedoch versuchen, den SMTP-Dienst manuell zu testen.

Weitere Informationen zum Testen des IIS SMTP-Dienstes von Windows 2000 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
286421 SO WIRD'S GEMACHT: Manuelles Testen der IIS-SMTP-Dienste von Windows 2000
Weitere Informationen zum Testen des SMTP-Dienstes für Windows NT 4.0 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
153119 XFOR: Verbinden via Telnet mit Port 25 zum Testen der SMTP-Kommunikation

Eigenschaften

Artikel-ID: 324649 - Geändert am: Mittwoch, 3. Mai 2006 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Collaboration Data Objects 1.2 für NT Server, wenn verwendet mit:
    • Microsoft Windows 2000 Standard Edition
    • Microsoft Windows NT 4.0
Keywords: 
kbtshoot kbinfo KB324649
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.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com