{"id":16444945,"url":"https://github.com/jaymon/popbak","last_synced_at":"2025-10-27T05:31:33.736Z","repository":{"id":841062,"uuid":"564287","full_name":"Jaymon/Popbak","owner":"Jaymon","description":"Backup your Gmail or other IMAP accessible email to your computer for easy long term archiving","archived":false,"fork":false,"pushed_at":"2022-12-24T21:17:43.000Z","size":1828,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T02:41:26.250Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":"Unmaintained","scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jaymon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-03-16T01:12:33.000Z","updated_at":"2023-09-15T23:15:34.000Z","dependencies_parsed_at":"2023-01-13T10:43:07.515Z","dependency_job_id":null,"html_url":"https://github.com/Jaymon/Popbak","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaymon%2FPopbak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaymon%2FPopbak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaymon%2FPopbak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaymon%2FPopbak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jaymon","download_url":"https://codeload.github.com/Jaymon/Popbak/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238445843,"owners_count":19473822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T09:42:42.523Z","updated_at":"2025-10-27T05:31:33.730Z","avatar_url":"https://github.com/Jaymon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Popbak\n\nPopbak is a Python script that will back up an email account (any email account that supports IMAP access) into a local folder.\n\nI wrote this because I like having an archival copy of my email, I don't want an mbox backup or anything like that, I want an easy way to read the email and see the attachments.\n\nI don't think I described what Popbak does very well, so here's an example, let's say you have 2 emails in your email inbox:\n\n    foo@bar.com \"this is my title\"\n    baz@foo.com \"there is a jpg and a pdf file in this email\"\n\nNow, if you run Popbak, it will backup the emails in a folder structure like this:\n\n    bakupdir/\n      \u003cMAILBOX\u003e/\n          bar.com/\n            foo@bar.com/\n              \u003cDATE\u003e - this is the title.txt/\n                body 1.txt\n                headers 1.txt\n                original.eml\n          foo.com/\n            baz@foo.com/\n              \u003cDATE\u003e - there is a jpg and a pdf file in this email/\n                attachment.jpg\n                attachment.pdf\n                body 1.txt\n                headers 1.txt\n                original.eml\n\n\n## How to run from the command line\n\nSee all your mailboxes:\n\n    $ python popbak.py mailboxes -u USERNAME -p PASSWORD -s SERVER -o PORT -d\n\nBackup a specific mailbox:\n\n    $ python popbak.py backup -u USERNAME -p PASSWORD -s SERVER -o PORT -d \"/path/to/backupdir\" \u003cMAILBOX\u003e\n\nSync some mailboxes (good for scheduled/recurring backups):\n\n    $ python popbak.py sync -u USERNAME -p PASSWORD -s SERVER -o PORT -d \"/path/to/backupdir\" [MAILBOX ...]\n\nSee everything you can do:\n\n    $ python popbak.py --help\n\n\n### Back up your gmail account\n\n    $ python popbak.py backup -u example@gmail.com -p PASSWORD -d \"/path/to/backupdir\" \"[Gmail]/All Mail\" \"[Gmail]/Sent Mail\"\n\nMake sure you have [activated IMAP access on your gmail account](https://support.google.com/mail/answer/7126229). You might have to [create an app password for Popbak](https://support.google.com/accounts/answer/185833) in your [Google account security settings](https://myaccount.google.com/).\n\n\n## Installation\n\nClone this repo:\n\n    $ git clone git@github.com:Jaymon/Popbak.git \u003cDIRECTORY\u003e\n\n\nInstall the dependencies:\n\n    $ cd \u003cDIRECTORY\u003e\n    $ pip install -r requirements.txt\n\nThen go ahead and run Popbak using Python 3.7+:\n\n    $ python popbak.py --help\n    \n\n## Troubleshooting\n\n[Make sure you don't backup too much per day](https://support.google.com/mail/answer/7126229):\n\n\u003e To avoid temporarily locking yourself out of your account, make sure you don't exceed 2500 MB per day for IMAP downloads and 500 MB per day for IMAP uploads. If you're setting up a single IMAP account on multiple computers, try taking a break between each setup.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaymon%2Fpopbak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaymon%2Fpopbak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaymon%2Fpopbak/lists"}