add Outlook mail archive importer
This commit is contained in:
40
README.md
40
README.md
@@ -0,0 +1,40 @@
|
||||
# Scriptory
|
||||
|
||||
## Bulk Outlook email import
|
||||
|
||||
Export any number of messages from Outlook into `~/Seafile/buffer/mail/`. Outlook's subject-based
|
||||
filenames and numeric collision suffixes do not matter; the importer reads each email's headers and
|
||||
content hash.
|
||||
|
||||
Import all new messages:
|
||||
|
||||
```bash
|
||||
~/Seafile/tower/repo/scriptory/import-outlook-mail.py
|
||||
```
|
||||
|
||||
The default canonical destination is `~/Seafile/doc/job/Parallels/mail/`. Messages are grouped by
|
||||
the year and month of the email's `Date` header. A normal filename is
|
||||
`YYYYMMDD-HHMMSSZ-subject.eml`; the timestamp is normalized to UTC when the header includes a
|
||||
timezone. A short SHA-256 suffix is added only if a different message already has the same generated
|
||||
filename. Unknown or invalid dates are stored under `unknown-date/`.
|
||||
|
||||
The importer regenerates `index.csv` from the archive with the full SHA-256, selected normalized
|
||||
header values, and archive path. Its duplicate rules are:
|
||||
|
||||
- An existing SHA-256 is an exact duplicate and is skipped.
|
||||
- A repeated `Message-ID` with different bytes is preserved and reported as a variant.
|
||||
- A repeated subject alone is not a duplicate.
|
||||
|
||||
Each new message is copied to a temporary file beside its final destination, SHA-256 verified, and
|
||||
then published without overwriting an existing file. Files in `~/Seafile/buffer/mail/` are never
|
||||
modified or deleted. Clear the buffer manually only after confirming that Seafile has synchronized
|
||||
the canonical archive.
|
||||
|
||||
Only `.eml` files are imported. Other files are reported as unsupported, left untouched, and cause a
|
||||
nonzero exit so they are not missed before the buffer is cleared. To use different directories:
|
||||
|
||||
```bash
|
||||
~/Seafile/tower/repo/scriptory/import-outlook-mail.py \
|
||||
--source /path/to/export \
|
||||
--archive /path/to/archive
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user