Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sophior/emlextractor
EML attachment extrator
https://github.com/sophior/emlextractor
archive attachment attachments email eml googletakeout howto mbox
Last synced: 29 days ago
JSON representation
EML attachment extrator
- Host: GitHub
- URL: https://github.com/sophior/emlextractor
- Owner: Sophior
- License: gpl-3.0
- Created: 2023-11-02T08:27:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-15T15:00:14.000Z (about 1 year ago)
- Last Synced: 2024-11-14T21:13:20.127Z (3 months ago)
- Topics: archive, attachment, attachments, email, eml, googletakeout, howto, mbox
- Language: C#
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EMLExtractor
EML attachment extractorThis is a small utility that solved 3 problems for me:
* Having an archive of eml files with a folder structure that is difficult to navigate
* Wanting to extract attachments from this archive
* Handling extensionless files in the resulting files
* Not being able to read mbox files from Google takeoutWhen choosing the option "Database", it will create a sqlite database file and write the email details and paths to the extracted attachments into the sqlite database.
When choosing the option "Email", it will iterate the folder (and subfolders), read the eml file and extract the attachments into the destination folder.
As I've noticed that there are many duplicates, from conversation threads, it will not override existing files with the same name. Unless you alter the function StartEmail(true) to StartEmail(false).
(it would be more ideal to compare the bytesize, but for my purpose it's not been necessary)When choosing the "Move" function, it will iterate the folder (and subfolders) and copy *ANY* file to the destination folder.
It will not skip duplicates, and just renames it.When choosing the "Extensions" function, it will iterate every file without extension and save the file with the chosen extension into the destination path. Generally, it's safe to use the same folder (source and destination) as it will try to find a unique name if the same filename is in the destination folder.
When choosing the "Mbox" function, it will iterate every .mbox file and iterate every message contained therein. It will process it then in the same fashion as the "Email" option works.