Skip to main content

Mailbox Konfiguration

Introduction

  • Standardpfad /app/configs/mailbox/your.json

Im Installationspfad von maildaemon befindet sich standardmäßig ein Ordner configs. Dieser ist zusätzlich in mailbox und folder unterteilt.

  • Wenn eine Mailbox abgeholt werden soll, wird im Ordner Mailbox eine Konfigurationsdatei [Name-des-Postfachs].json abgelegt.
  • Es sind in dem oben genannten Ordner *.example Dateien gespeichert, die zur Unterstützung der Konfiguration dienen.

Erläuterung zur Konfiguration einer Mailbox

EigenschaftPflichtfeldStandardBeschreibung
ActivextrueMit true oder false legen Sie fest, ob die Mailbox aktiv genutzt werden soll.
Testmode{ "Active": false, "EmailProcessingLimit": 0 }Diese Option aktiviert den Testmodus, Details dazu siehe hier
Mailboxx""Hier muss das Postfach hinterlegt werden, in der Regel ist dies die E-Mail-Adresse.
TypeximapHier geben Sie das Protokoll an, mit dem der Dienst Nachrichten aus der Mailbox abruft.
ℹ️ Derzeit werden die Protokolle POP3 und IMAP unterstützt.
Hostx""Je nach Protokoll (POP3/IMAP) muss hier die entsprechende Serveradresse hinterlegt werden Beispiel: outlook.office365.com
Portx993Je nach Protokollkonfiguration (IMAP 993 / POP3 995)
UseSslxtrueStandardmäßig wird die Übertragung verschlüsselt.
Usernamex""Benutzername zum E-Mail-Postfach (in der Regel die E-Mail-Adresse)
ℹ️ Handelt es sich nur um gemeinsam genutzte Postfächer und nicht um eigenständige Postfächer, muss dies im folgenden Format angegeben werden:
Benutzername\Name des gemeinsam genutzten Postfachs - Beispiel: easyadmin\billing-test (bitte achten Sie auf den doppelten Backslash, wegen der JSON-Formatierung).
Passwordx""Das Passwort für die Mailbox
Foldersx["INBOX"]Standardmäßig wird der Posteingang INBOX abgefragt. Sie können hier aber auch andere Ordner des Postfachs angeben, getrennt durch Kommata. ⚠️ Beachten Sie die Groß- und Kleinschreibung.
DeleteMailsOnServerxfalseGibt an, ob die E-Mails nach erfolgreicher Verarbeitung nach Documents5 aus dem Postfach gelöscht werden. Diese Einstellung muss bei Postfächern die mit POP3 eingerichtet wurden, aktiviert werden, da sonst niemals allte E-Mails gelöscht werden und diese die Verarbeitung von Maildaemon zu sehr verlangsamen.
MailArchiving{ "Active": false, "ArchiveFolder": "" }Mit dieser Konfiguration können Sie verarbeitete E-Mails in einen Archiv-Ordner verschieben. Details dazu siehe hier
AllowedEmailExtensionsx[".eml",".msg"]Erlaubte E-Mail-Dateierweiterungen
ℹ️ Derzeit werden nur die Typen EML und MSG unterstützt.
ExportAttachmentstrueStandardmäßig werden die Anhänge in Documents5 als Anhänge wie folgt erstellt
AllowedAttachments[".pdf",".eml"]Hier können Sie die erlaubten Dateianhänge definieren, die Documents5 als Anhänge speichern kann.
⚠️ Vergessen Sie nicht den Punkt vor der Dateiendung!
DestinationsListHier können Sie die Konfiguration (oder kommagetrennt mehrere) des Zielsystems unter Verwendung der Objektnotation {} angeben.
ℹ️ Derzeit werden nur Dokumente5+ unterstützt.
SystemxDocumentsDer Name des Zielsystems
Hostx""Der Hostname für den grpc-Server, normalerweise localhost.
Portx""Der Port für den grpc-Server, normalerweise 50050.
ServerCertPathx""Der vollständige Pfad zur ca_cert.pem-Datei des grpc-Servers.
ClientCertPathx""Der vollständige Pfad zur grpc client cert pem-Datei.
ClientKeyPathx""Der vollständige Pfad zur grpc-Client-Schlüsseldatei pem.
Principalx""Mandant eines Documents5-Systems
Usernamex""Benutzername, der für die Verbindung über gRPC API vom Documents5-System verwendet wird
WorkflowNamex""Der Name des verwendeten Workflows für den definierten Mappentyp (siehe Filetype)
Localex"de"PassDie Sprache des Dokumentensystems, bitte beachten Sie die Schreibweise
Filetypex""Hier muss der technische Name des Zieldateityps angegeben werden (z. B. Postman_Documents)
MailRegisterx""Wenn die E-Mail als erweiterter Anhang an die Datei in Dokumente angehängt werden soll, muss hier der Feldname hinterlegt werden. (z. B. originalMail)
AttachmentRegisterx""Wenn die Anhänge der E-Mail als Anhänge in der Datei Dokumente angelegt werden sollen, muss hier der Feldname hinterlegt werden. (z.B. Anhänge)
MappingRulesxList**Hier können Sie anhand der bereits gezeigten Beispiele die Quelldaten aus der E-Mail mit einem Zielfeld in Documents5 verknüpfen.
Zusätzlich können Sie den Inhalt mit einem regulären Ausdruck (Muster) manipulieren. Achten Sie hier auf die korrekte Beschreibung.
ℹ️ Für die MappingRules wird Ihnen eine standardmäßig ausgefüllte Musteraufzählung zur Verfügung gestellt.
Source""Die folgenden Quellwerte sind möglich:
WertBeschreibung
SubjectDer Betreff der E-Mail
SizeDie Größe der E-Mail
SenderAbsender-E-Mail-Adresse
RecipientE-Mail-Empfänger Mail-Adressen
PriorityBedeutung der E-Mail
MailIDDie eindeutige Nachrichten-ID der E-Mail
DomainDie Domäne der E-Mail
DateDas Datum, an dem die E-Mail empfangen wurde
CCCarbonCopy E-Mail-Adressen
BodyEnthält den Inhalt der E-Mail
BCCBlindCarbonCopy-E-Mail-Adressen. Beachten Sie, dass die meisten E-Mail-Server die BCC-Informationen aus der E-Mail entfernen. Wenn Sie jedoch einen Entwurf über das Dateisystem importieren, wird dieses Feld ausgefüllt.
Targetx""Geben Sie hier bitte den Feldnamen der Dokumentendatei an, in der der Wert angezeigt werden soll.
Value""Das Feld kann leer sein, dann wird automatisch der gespeicherte Quellwert eingetragen. Alternativ können Sie die Quelle leer lassen und hier einen festen Wert eingeben.
Pattern""Mit Hilfe eines regulären Ausdrucks kann hier der einzugebende Wert manipuliert werden.
BeispielMusterErgebnis
17.07.2020 15:43:22(?m)(1920)\d2\r*2020
WG: Welcome to GitHub![^WG:\s].+Welcome to GitHub!

Archivierung

Mit der Version 24.0.0 wurde diese Funktionalität hinzugefügt

Es gib nun die Konfiguration MailArchiving. Diese Konfiguration ist optional und wird nur benötigt, wenn verarbeitete E-Mails in einen Archiv-Ordner verschoben werden sollen.

info

Diese Funktion ist nur für den Mailbox-Type IMAP verfügbar

Die Struktur der Konfiguration innerhalb einer Mailbox-JSON sieht wie folgt aus:

"MailArchiving": {
"Active": false,
"ArchiveFolder": ""
}

MailArchiving besteht aus den folgenden Eigenschaften:

  • Active als Boolean (default: false)
  • ArchiveFolder als String (default: "")

Bei Aktivierung muss der ArchiveFolder gesetzt werden

warning

Ist der ArchiveFolder weiterhin ein leerer String oder werden Sonderzeichen oder Zahlen verwendet, wird dies mit einem Fehler quittiert und die Verarbeitung dieser Konfigurationsdatei wird nicht ausgeführt.

Diese Option bewirkt, dass beim initialen Verbinden zum eigentlichen Postfachordner (default: INBOX) ein Ordner mit dem Wert aus ArchiveFolder angelegt wird. Ist dieser bereits vorhanden, wird dieser nicht erneut angelegt.

Sind anschließend E-Mails erfolgreich verarbeitet worden, werden diese weiterhin mit einem Mail-Header und als gelesen markiert versehen, um abschließend die E-Mail in den Ordner von ArchiveFolder zu verschieben Dies bewirkt, dass der eigentliche Postfachordner (default INBOX) immer nur die nicht verarbeiteten E-Mails beinhaltet

warning

Für das Leeren des Archive-Ordners ist der jeweilige Eigentümer des Postfaches verantwortlich

Die erwähnte Logik findet nur statt, wenn die Option DeleteMailsOnServer nicht aktiv ist

Testmodus

Mit der Version 24.1.0 wurde diese Funktionalität hinzugefügt

Es gibt nun eine weitere Option in der Konfiguration namens Testmode. Diese Konfiguration ist optional und wird nur benötigt, wenn Maildaemon im Testmodus betrieben werden soll.

Durch den Testmodus - konfigurierbar pro Postfach - können bereits verarbeitete E-Mails aus dem produktiven Postfach abgeholt und verarbeitet werden. Dabei wird die Anzahl der zu verarbeitenden E-Mails auf den Wert von der zugehörigen Eigenschaft EmailProcessingLimit begrenzt.

info

Der Testmodus funktioniert nur, wenn das angebundene Postfach einen Archiv-Ordner hat, da dies Voraussetzung für diese Funktionalität ist. Der Testmodus greift auf den Archiv-Ordner zu und verarbeitet die E-Mails aus diesem Ordner und nicht aus der INBOX.

warning

Der Testmodus sollte nur im Entwicklungs- oder Testumfeld aktiviert werden.

Die Struktur der Konfiguration innerhalb einer Mailbox-JSON sieht wie folgt aus:

"Testmode": {
"Active": true,
"EmailProcessingLimit": 10
}

Vorgehensweise zum Aktivieren des Testmodus

optional stoppen sie den maildaemon-service Dienst bevor Sie die Konfiguration anpassen

  1. Gehen Sie auf die Testumgebung und in die maildaemon-service-Installation
  2. Legen Sie eine neue Konfigurationsdatei für ein produktives Postfach an
    1. ⚠️ Stellen Sie zuvor sicher, dass das Postfach einen Archiv-Ordner hat
    2. Tragen Sie bei der Eigenschaft Folders den Namen des Archiv-Ordners ein, z.B. "Folders": ["Archive"]
  3. Konfigurieren Sie die Testmode-Eigenschaften in der Konfigurationsdatei
    1. Setzen Sie Active auf true
    2. Setzen Sie EmailProcessingLimit auf den gewünschten Wert (z.B. 10 für die 10 E-Mails, die von ihrem E-Mail Datum hier am neusten sind)
  4. Deaktivieren Sie etwaige andere Postfach-Konfigurationen, die Sie nicht im Testmodus verwenden möchten
    • in den jeweiligen JSON Dateien die Eigenschaft Active auf false setzen
  5. Sofern Sie vor der Anpassung den Dienst gestoppt haben, starten Sie diesen nun erneut, anderenfalls warten Sie bis der nächste Interval durchläuft

Mailbox Beispiel Datei

{
"Active": true,
"Testmode": {
"Active": false,
"EmailProcessingLimit": 125
},
"Mailbox": "email@gmx.de",
"Type": "imap",
"Host": "imap.gmx.net",
"Port": 993,
"UseSsl": true,
"Username": "email@gmx.de",
"Password": "top-secret",
"Folders": ["INBOX"],
"DeleteMailsOnServer": false,
"MailArchiving": {
"Active": true,
"ArchiveFolder": "Archive"
},
"AllowedEmailExtensions": [".eml", ".msg"],
"ExportAttachments": true,
"AllowedAttachments": [".pdf", ".eml", ".zip"],
"Destinations": [
{
"System": "Documents",
"Host": "localhost",
"Port": 50050,
"ServerCertPath": "D:\\_Entwicklung\\tmp\\documents5-grpc\\ca_cert.pem",
"ClientCertPath": "D:\\_Entwicklung\\tmp\\documents5-grpc\\mad_cert.pem",
"ClientKeyPath": "D:\\_Entwicklung\\tmp\\documents5-grpc\\mad_key.pem",
"Principal": "102008",
"Username": "oucAdmin",
"WorkflowName": "ouspPostman",
"Locale": "de",
"Filetype": "ouspPostman_Documents",
"MailRegister": "attachments_add",
"AttachmentRegister": "attachments",
"MappingRules": [
{
"Source": "Recipient",
"Target": "mailRecipient"
},
{
"Source": "Sender",
"Target": "mailSender"
},
{
"Source": "Body",
"Target": "mailBody"
},
{
"Source": "Subject",
"Target": "mailSubject",
"Pattern": ""
},
{
"Source": "MailID",
"Target": "MailID"
},
{
"Source": "Date",
"Target": "mailDate"
},
{
"Source": "CC",
"Target": "mailCC"
},
{
"Source": "BCC",
"Target": "mailBCC"
},
{
"Source": "Priority",
"Target": "mailPriority"
},
{
"Source": "Domain",
"Target": "mailDomain"
},
{
"Source": "Size",
"Target": "mailSize"
},
{
"Source": "Recipient",
"Target": "mailMailboxname"
}
]
}
]
}