59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
# Mail Processing Stabilization Phase – NEW Camel mail route
|
||
|
||
This patch adds a NEW-runtime Camel route for mail ingestion that is similar in purpose to the legacy `MailRoute`, but implemented only in the NEW code path (`at.procon.dip.*`).
|
||
|
||
## Scope
|
||
|
||
- runtime mode: `NEW` only
|
||
- entrypoint: Camel mail consumer route
|
||
- downstream handling: `DocumentIngestionGateway` with `SourceType.MAIL`
|
||
- no legacy profile/config/code changes
|
||
|
||
## Main classes
|
||
|
||
- `at.procon.dip.ingestion.camel.GenericMailIngestionRoute`
|
||
- `at.procon.dip.ingestion.mail.MailServerEndpointUriFactory`
|
||
- `at.procon.dip.ingestion.mail.CamelMailServerEndpointUriFactory`
|
||
- `at.procon.dip.ingestion.mail.MailServerProtocol`
|
||
|
||
## Configuration
|
||
|
||
Configured under `dip.ingestion.mail-route` in `application-new.yml`.
|
||
|
||
Supported protocols currently exposed through the generic endpoint factory:
|
||
- `IMAP`
|
||
- `IMAPS`
|
||
- `POP3`
|
||
- `POP3S`
|
||
|
||
This keeps the route provider/protocol-agnostic at the configuration level while still using Apache Camel mail endpoints underneath.
|
||
|
||
## Behavior
|
||
|
||
When enabled, the route:
|
||
1. consumes messages from the configured mail endpoint
|
||
2. serializes each provider message to raw MIME bytes
|
||
3. extracts basic provider/provenance attributes
|
||
4. builds a `SourceDescriptor` with `SourceType.MAIL`
|
||
5. delegates the actual parsing/import/attachment handling to the existing NEW `MailDocumentIngestionAdapter`
|
||
|
||
## Provenance attributes added by the route
|
||
|
||
The route enriches the `SourceDescriptor.attributes` map with:
|
||
- `providerType`
|
||
- `providerProtocol`
|
||
- `providerAccountKey`
|
||
- `providerFolderKey`
|
||
- `providerMessageKey` (when available from Camel headers)
|
||
- `providerThreadKey` (when available)
|
||
- `messageId`
|
||
- `subject`
|
||
- `from`
|
||
|
||
## Notes
|
||
|
||
- The route intentionally does **not** depend on `TedProcessorProperties`.
|
||
- The route is designed for the NEW runtime only.
|
||
- The mail import behavior still relies on the NEW `MailDocumentIngestionAdapter` for MIME parsing and attachment import.
|
||
- This step does not add replay/reprocessing yet.
|