Archive the content on your email account.
Go to file
Cyberes e933dfd361 don't mark emails as read when fetching them 2024-07-18 19:25:30 -06:00
iarchiver don't mark emails as read when fetching them 2024-07-18 19:25:30 -06:00
iviewer reogranize for server 2024-03-06 13:48:49 -07:00
systemd reorganize service and add timer, require auth on viewer 2024-03-06 18:17:08 -07:00
templates support multiple accounts, fix misc server issues 2024-07-18 18:21:05 -06:00
.gitignore add code 2024-03-05 23:57:38 -07:00
LICENSE Initial commit 2024-03-05 19:54:06 -07:00
README.md support also saving inline attachments 2024-07-18 19:21:05 -06:00
archiver.py option to perform a full sync 2024-07-18 19:24:41 -06:00
config.yml.sample support also saving inline attachments 2024-07-18 19:21:05 -06:00
requirements.txt reorganize service and add timer, require auth on viewer 2024-03-06 18:17:08 -07:00
server.py support also saving inline attachments 2024-07-18 19:21:05 -06:00

README.md

imap-archiver

Archive the content on your email account.

A very simple way to sync your email account with the goal of backing up all your emails.

Saves attachments to disk and stores the emails in an SQLite database.

A very simple web viewer is provided to view your raw emails.

Does not support different accounts.

Install

Archiver

  1. Create a venv
  2. pip install -r requirements.txt
  3. cp config.yml.sample config.yml
  4. Edit config.yml and configure your login info.
  5. python3 archiver.py

Viewer

  1. sudo mkdir /etc/secrets
  2. sudo chown -R root:root /etc/secrets
  3. Generate your password:
    echo -n "<your password>" | base64
    
  4. Edit /etc/secrets/imapviewer with this content:
    HTTP_AUTH_PASS=<your encoded password>
    EMAIL_ARCHIVE_ROOT=<archive root path>
    
  5. sudo chmod 600 /etc/secrets/imapviewer
  6. Reload and start the service.

Sample systemd services file is included.

To Do

  • Fix subject decoding. Some character sets aren't detected correctly.
  • In the viewer, format the raw email to something viewable.