Informationen effizient organisieren.
Mit Dr.DOC - der Komplettlösung für revisionssichere Archivierung.



  Anfragen Preise berechnen Demo anfordern Mehr über Dr.DOC erfahren


E-Mail-Archivierung (IMAP) - bis Build Version 178 / DB Version 136 / vom 19.05.2026

  1. Option A: Als Desktop App starten (empfohlen)
  2. Option B: PowerShell Script als Admin:

Hinweis:

Mit Dr.DOC gibt es drei E-Mail-Archivierungs-Möglichkeiten.
In dieser Doku geht es um die E-Mail-Archivierung via Dr.DOC Web.

| Produkt | Modul | Besonderheiten |
| ------- | ----- | -------------- |
| Dr.DOC Netzwerk (C/S) | Dr.DOC Outlook Plugin | Vorgangsbezogene (oder automatische) Archivierung in MS Outlook/Plugin via Dr.DOC Netzwerk Client |
| Dr.DOC Netzwerk (C/S) | Dr.DOC Server Import | Automatisierte Archivierung am Dr.DOC Netzwerk Server via Dateiimport |
| Dr.DOC Web | Dr.DOC Web E-Mail-Archivierung (IMAP) | Automatisierte, regelbasierte Archivierung am Dr.DOC Web Server via IMAP |
Ziel der E-Mail-Archivierung via IMAP ist es, E-Mails automatisiert (unbeaufsichtigt) und regelbasiert zu archivieren.
Um die E-Mail-Archivierung regelbasiert zu steuern, werden folgende Einstellungen im Dr.DOC Web Konfigurationsarchiv „node“ ausgelesen:
Type: EmailAccountConfigWebNode
Name: config/email-account/<E-Mail-Account-Name>
Beispel:
Name: config/email-account
Die Einstellungen werden beim Start des Dr.DOC Web Servers neu geladen. Damit eine Änderung wirksam wird, muss unter Dr.DOC Web/Einstellungen/E-Mail-Archivierung/Button "Einstellungen neu laden" geklickt werden.
Ändern der Berechtigungen: Aus Sicherheitsgründen sollte der Node Config Datensatz nur für den Server und berechtigte Administratoren zugreifbar sein, indem der User auf "System-Group" gesetzt wird.
Eine Vererbung über den Prototype-Namen ist möglich; z.B. auf config/email-account, um bestimmte Einstellungen für alle Konten anzuwenden. Wenn Property Values aus dem Prototype geladen werden sollen, muss das „Inherit“ Flag in der Property gesetzt sein.
Damit ist es möglich, die Einstellungen, die für alle User gültig sind, in den Node "config/email-account" abzuspeichern und in den Konten-Nodes (z.B. "config/email-account/mustermann") den Prototype Name auf "config/email-account" setzen und nur die Properties zu setzen, die überschrieben werden sollen (z.B. "Email", "Password", "Archive_SourceImapFolders", "Archive_Target_FieldPreselectionName").
Alle Properties haben den Type "ConfigWebNode".
| Property Type | Property Name | Beschreibung | Mögliche Werte |
| ------------- | ------------- | ------------ | -------------- |
| ConfigWebNode | Enabled | Gibt an, ob die Konfiguration aktiv ist | true, false |
| ConfigWebNode | Email | E-Mail-Adresse (z.B. test@mail.de) | |
| ConfigWebNode | Password | Passwort für SMTP/IMAP.
Nach dem erstmaligen Eintragen wird das Passwort verschlüsselt. | |
| ConfigWebNode | CheckSslCert | Gibt an, ob das TLS/SSL Zertifikat des E-Mail-Servers geprüft werden soll | true, false |
| ConfigWebNode | ImapHost | Hostname des IMAP Servers (z.B. mail.de) | |
| ConfigWebNode | ImapSSL | Gibt an, ob eine verschlüsselte TLS/SSL Verbindung zum IMAP Server hergestellt werden soll | true, false |
| ConfigWebNode | ImapPort | IMAP Portnummer (z.B. 993) | |
| ConfigWebNode | SmtpHost | Hostname des SMTP Servers (z.B. mail.de) | |
| ConfigWebNode | SmtpSSL | Gibt an, ob eine verschlüsselte TLS/SSL Verbindung zum SMTP Server hergestellt werden soll | |
| ConfigWebNode | SmtpPort | SMTP Portnummer (z.B. 587) | |
| ConfigWebNode | Archive_Action |

  • "Tag":
    • Markiert die E-Mail bei erfolgreicher Archivierung mit dem Tag/Keyword, welches in der Property "Archive_SuccessTag" angegeben wurde;
    • Dubletten werden mit dem Wert markiert, der in der Property "Archive_DuplicateTag" angegeben wurde.
  • "Move":
    • Verschiebt die E-Mail in ein Unterverzeichnis mit gleichem Namen wie das Quell-Verzeichnis.Die IMAP-Verzeichnisse werden automatisch erstellt und dürfen keinen "." oder "/" im Pfad-Segment enthalten. Der Verzeichnisname "Dr. Doc" wäre also ungültig.
    • Bei erfolgreicher Archivierung in das IMAP Verzeichnis, welches in der Property "Archive_SuccessImapFolder" angegeben wurde. Beispiel: <Archive_SuccessImapFolder>/<Source-Folder>
    • Dubletten werden in das IMAP Verzeichnis verschoben, welches in der Property "Archive_DuplicateImapFolder" angegeben wurde. Beispiel: <Archive_DuplicateImapFolder>/<Source-Folder>
    • Bei einem Fehler in das Verzeichnis, welches in der Property "Archive_ErrorImapFolder" angegeben wurde. Beispiel: <Archive_ErrorImapFolder>/<Source-Folder>
  • "Delete":
    • Löscht erfolgreich archivierte E-Mails
| Tag, Move, Delete |
| ConfigWebNode | Archive_SuccessTag | Tag/Keyword für Property "Archive_Action" mit dem Wert "Tag"; bei erfolgreicher Archivierung;
Der Wert darf bei vielen IMAP Servern keine Leerzeichen oder Punkte enthalten | |
| ConfigWebNode | Archive_DuplicateTag | Tag/Keyword für Property "Archive_Action" mit dem Wert "Tag"; bei fehlgeschlagener Archivierung wegen Eingabedublettenprüfung (Schlüsselfeld "DS" mit Feldauswahl für Dublettenprüfung);
Der Wert darf bei vielen IMAP Servern keine Leerzeichen oder Punkte enthalten | |
| ConfigWebNode | Archive_SuccessImapFolder | Basis IMAP Verzeichnis für Property "Archive_Action" mit dem Wert "Move"; bei erfolgreicher Archivierung | |
| ConfigWebNode | Archive_DuplicateImapFolder | Basis IMAP Verzeichnis für Property "Archive_Action" mit dem Wert "Move"; bei fehlgeschlagener Archivierung wegen Eingabedublettenprüfung (Schlüsselfeld "DS" mit Feldauswahl für Dublettenprüfung) | |
| ConfigWebNode | Archive_ErrorImapFolder | Basis IMAP Verzeichnis für Property "Archive_Action" mit dem Wert "Move"; bei fehlgeschlagener Archivierung wegen eines Fehlers | |
| ConfigWebNode | Archive_SourceImapFolders | Quell IMAP Verzeichnis(se), in dem die E-Mails archiviert werden sollen.
Pro Zeile ein Wert und darf nicht mit / beginnen.
Es können auch Wildcards mit "*" angegeben und UND-Bedingungen mit "&" angegeben werden.
z.B. "INBOX"
oder "Eingangsrechnung" | |
| ConfigWebNode | Archive_Target_UsermanagerName | Ziel-Benutzerverwaltung
Pfad zur Usermanager *.BVD Datei | |
| ConfigWebNode | Archive_Target_ArchiveName | Ziel-Archiv
Archiv-Name oder vollständiger Pfad zur KOMM\SERVER\*.da Datei
Wenn das Ziel-Archiv leer ist (nicht angegeben wird), wird die magische KI Archivierung gestartet.
https://drdoc.com/node/de/products/web/doku/ai-kuenstliche-intelligenz | |
| ConfigWebNode | Archive_Target_FieldPreselectionName | Anzuwendende Feldvorbelegung beim Erstellen des Datensatzes im Archiv "Archive_Target_ArchiveName" bzw. dem Archiv, welchges die magische Archivierung gewählt hat.
Die IMAP E-Mail-Archivierung wendet die Feldauswahl für Feldvorbelegung, sofern gesetzt, immer und überschreibend vor der Archivierung aus.
Es können mehrere Feldvorbelegungen angegeben werden, mit ";" separiert.
Dynamisch: Über die gesetzten Feldwerte, u.a. aus der Feldvorbelegung und den übernommenen E-Mail Feldern (z.B. ASCII Import-Definition "DD_EMAIL"), kann eine rekursive Archivierung/Document Encoder dynamisch getriggert werden.
Statisch: Alternativ kann direkt ein Name für einen Document Encoder für rekursive Archivierung angegeben werden, z.B. config/recursive/RE PDF CreateDocument
Bei der direkten Angabe eines Document Encoders, wird dieser gewählt, unabhängig davon, ob Enabled: true/false; es wird nur auf den Prototype bzw. den Dateityp geprüft. | |
| ConfigWebNode | Archive_Target_Duplicate | Gibt an, wie Dubletten beim Erstellen eines Dokuments behandelt werden sollen:
  • "Drop": Dubletten verwerfen
  • "Replace": Dubletten ersetzen (Feldwerte können gelöscht werden)
  • "Change": Dublette ändern (nur gesetzte Feldwerte werden übertragen)
| Drop, Replace, Change |
| ConfigWebNode | OAuth2_ClientId | MS 365 / AAD: "Overview" -> "Aplication (client) ID" | |
| ConfigWebNode | OAuth2_Authority | MS 365 / AAD: "Overview" -> "Directory (tenant) ID" z.B. https://login.microsoftonline.com/{tenantId}/v2.0 | |
| ConfigWebNode | OAuth2_Scopes | MS 365 / AAD: "API permissions" -> "+Add a permission": Mehrere Einträge möglich (zeilenweise), z.B.:
https://outlook.office365.com/.default
Oder
openid
email
offline_access
https://outlook.office.com/IMAP.AccessAsUser.All
https://outlook.office.com/SMTP.Send
Oder in älteren Konfigurationen:
https://ps.outlook.com/.default | |
| ConfigWebNode | OAuth2_Secret | MS 365 / AAD: "Certificates & secrets" -> "Client secrets" -> "+ New client secret": Text in Spalte "Value" abspeichern | |
| ConfigWebNode | Account | Explizite Angabe einer Account ID oder Usaernames, falls es zum E-Mail Konto mehrere Konten zur Auswahl gibt. | |
Hinweise und Anleitung zu Microsoft Office 365

Microsoft 365 benötigt einen OAuth2 Login. Das ist leider unnötig kompliziert.
Anbei eine Anleitung, wie man im Microsoft Azure Active Directory eine IMAP App registriert.

  1. Microsoft Azure Active Directory IAM (AAD IAM starten und App hinzufügen mit IMAP Rechten)
    Siehe dazu:
    https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app
    1. https://portal.azure.com/#view/Microsoft\_AAD\_IAM/ActiveDirectoryMenuBlade/\~/Overview
      1. Register new App (+): https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade/isMSAApp~/false
      2. "Authentication"
        1. "Platform configuration", "+ Add a platform" -> "Mobile and desktop applications"
          Redirect URIs: "http://localhost"
        2. "Advanced settings" -> "Allow public client flows": Yes
      3. "Certificates & secrets" -> "Client secrets" -> "+ New client secret": Text in Spalte "Value" abspeichern
      4. "API permissions" -> "+Add a permission" (mit "*" sind optional, wenn E-Mails auch versendet werden sollen)
        1. API "Microsoft Graph" -> "Delegated permission"
          1. OpenId permissions
            1. email
            2. offline_access
            3. openid
          2. SMTP
            1. * SMTP.Send
          3. User
            1. User.Read
          4. IMAP
            1. IMAP.AccessAsUser.All
        2. API "Office 365 Exchange Online" -> "APIs my organization uses" -> search "Office 365 Exchange Online" -> "Application permissions"
          1. IMAP
            1. IMAP.AccessAsApp
          2. Mail
            1. * Mail.Read
            2. * Mail.Send
          3. SMTP
            1. * SMTP.SendAsApp
        3. Check "Grant admin consent for <Tenant-Name>"
      5. Besitzer der App festlegen via Menü "Owners"
      6. Evtl.: Benutzer der App hinzufügen:
        1. https://portal.azure.com/?feature.msaljs=true#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers
        2. Benutzer wählen
        3. "Authentication methods" ->
      7. "Overview" Access Points abspeichern (siehe 2. unten)
        1. Application (client) ID
        2. Directory (tenant) ID
  2. In den Einstellungen für E-Mail-Archivierung folgenden Eigenschaften setzen:
    • OAuth2_ClientId = siehe "Overview" -> "Aplication (client) ID"
    • OAuth2_Authority = siehe "Overview" -> "Directory (tenant) ID": https://login.microsoftonline.com/<Dierctory (tenant) ID>/oauth2/v2.0/authorize
    • OAuth2_Scopes = siehe "API Permissions":
      • openid
        email
        offline_access
        https://outlook.office.com/IMAP.AccessAsUser.All
    • OAuth2_Secret = siehe "Certificates & secrets" -> "Client secrets"

1. Option A: Als Desktop App starten (empfohlen)

  1. Die App DrDoc.WebServerService.exe als normale Anwendung starten oder als Dienst
  2. Es erscheint im Console Fenster eine Meldung "Device Code [...]". Bitte kopieren Sie den Link daneben in den Webbrowser und geben Sie den Code im Webbrowser ein.
    Alternativ: Es öffnet sich automatisch ein Web Browser Fenster.
  3. Bitte mit entsprechendem Konto anmelden, um der E-Mail-Archivierung die nötige Berechtigung zu erteilen.
  4. Wenn die Anmeldung erfolgreich war, kann Dr.DOC Web wieder als Dienst verwendet werden.

2. Option B: PowerShell Script als Admin:

$AppId = "32d78307-96a6-4d33-k871-7d65d7ae345d"
$TenantId = "485ed665-e9ea-4569-xc67-4152462107fe"
$Email = "mail@drdoc.onmicrosoft.com"
$DisplayName = "Some principal name for IMAP/POP3"
Install-Module -Name ExchangeOnlineManagement
Import-module ExchangeOnlineManagement
Connect-ExchangeOnline -Organization $TenantId
# Install-Module -Name AzureAD
# Import-module AzureAD
# Connect-AzureAd -Tenant $TenantId
($Principal = Get-AzureADServicePrincipal -filter "AppId eq '$AppId'")
$PrincipalId = $Principal.ObjectId
# New-ServicePrincipal -AppId $AppId -ObjectId <OBJECT_ID>
New-ServicePrincipal -AppId $AppId -ServiceId $PrincipalId -DisplayName $DisplayName
Get-ServicePrincipal | fl
Add-MailboxPermission -Identity $Email -User $PrincipalId -AccessRights FullAccess

Diese Website verwendet aus technischen Gründen Cookies für das Caching bzw. Bereitstellen von Session-bezogenen Inhalten. Diese Website verwendet Cookies und nutzt Website Tracking-Technologien von Dritten, um ihre Dienste anzubieten, stetig zu verbessern und Werbung entsprechend der Interessen der Nutzer anzuzeigen.
Ich bin mit der Datenschutzerklärung einverstanden und kann meine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen oder ändern.
Aus Gründen der Vernunft und besseren Lesbarkeit verzichten wir auf die gleichzeitige Verwendung der Sprachformen männlich und weiblich. Sämtliche Personenbezeichnungen gelten daher gleichermaßen für alle Geschlechter.