{"id":17606244,"url":"https://github.com/davidecavestro/gmail-exporter","last_synced_at":"2025-06-17T08:38:13.032Z","repository":{"id":45842434,"uuid":"473341822","full_name":"davidecavestro/gmail-exporter","owner":"davidecavestro","description":"Export you gmail messages to a spreadsheet","archived":false,"fork":false,"pushed_at":"2022-08-15T16:07:36.000Z","size":86,"stargazers_count":7,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T12:27:17.541Z","etag":null,"topics":["cli","export-to-excel","gmail"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidecavestro.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-23T20:06:33.000Z","updated_at":"2025-03-26T03:09:09.000Z","dependencies_parsed_at":"2022-07-18T06:47:00.333Z","dependency_job_id":null,"html_url":"https://github.com/davidecavestro/gmail-exporter","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/davidecavestro/gmail-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidecavestro%2Fgmail-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidecavestro%2Fgmail-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidecavestro%2Fgmail-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidecavestro%2Fgmail-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidecavestro","download_url":"https://codeload.github.com/davidecavestro/gmail-exporter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidecavestro%2Fgmail-exporter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260324211,"owners_count":22992147,"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":["cli","export-to-excel","gmail"],"created_at":"2024-10-22T15:44:06.554Z","updated_at":"2025-06-17T08:38:12.959Z","avatar_url":"https://github.com/davidecavestro.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n= gmail-exporter\nDavide Cavestro \u003chttps://github.com/davidecavestro[@davidecavestro]\u003e\n// Settings:\n:idprefix:\n:idseparator: -\nifndef::env-github[:icons: font]\nifdef::env-github,env-browser[]\n:toc: macro\n:toclevels: 1\nendif::[]\nifdef::env-github[]\n:branch: main\n:status:\n:outfilesuffix: .adoc\n:!toc-title:\n:caution-caption: :fire:\n:important-caption: :exclamation:\n:note-caption: :paperclip:\n:tip-caption: :bulb:\n:warning-caption: :warning:\nendif::[]\n// URIs:\n:uri-repo: https://github.com/davidecavestro/gmail-exporter\n:uri-issues: {uri-repo}/issues\n:uri-search-issues: {uri-repo}/search?type=Issues\n// :url-rel-file-base: {url-repo}/blob/HEAD/\n:url-rel-file-base: link:\n:url-license: {url-rel-file-base}LICENSE\n// images:\nimage:https://img.shields.io/github/license/badges/shields.svg[MIT License, link=#copyright-and-license]\nimage:https://img.shields.io/github/languages/code-size/badges/shields.svg[GitHub code size in bytes]\nimage:https://img.shields.io/github/release/davidecavestro/gmail-exporter.svg[GitHub release]\nimage:https://img.shields.io/github/commits-since/davidecavestro/gmail-exporter/latest.svg[Github commits (since latest release)]\n\n\n:imagesdir: docs/images\n:icons: font\n\n{uri-repo}[Gmail-exporter] is a command line utility for exporting a local copy of email messages and related attachments from your Gmail account.\n\nimage::export_session.svg[Example for exporting messages tagged as FOOBAR, then checking exported contents]\n\ntoc::[]\n\n== Project status\n\nThis project is in beta test, going to apply for google oauth approval. \n\n== Features\n\n- Export email messages to a spreadsheet\n- Optionally export related attachments and put refs into the spreadsheet\n- Optionally export messages as EML and put refs into the spreadsheet\n- Exported messages filtered by label\n- Optional progress status for long tasks\n\n\n== Privacy policy\n\n_Gmail-exporter_'s use of information received from Google APIs will adhere to https://developers.google.com/terms/api-services-user-data-policy#additional_requirements_for_specific_api_scopes[Google API Services User Data Policy], including the Limited Use requirements.\n\n\n== Usage\n\nInvoke the `gmail-exporter` executable passing appropriate options.\n\n\n=== Quickstarts\n\nThis paragraph shows some usage examples. +\nUse `./gmail-exporter help` to get the full list of available options.\n\n==== Export sent messages\n\n`./gmail-exporter export SENT`\n\n==== Export messages from trashcan as EML \n\n`./gmail-exporter export --save-eml TRASH`\n\n==== List available labels\n\n`./gmail-exporter labels`\n\n==== Fine-tune paging\n\nMessages are downloaded in blocks (pages): set the size of each block to max 50 messages +\n`gmail-exporter --page-size 50 TRASH`\n\nRead at max 200 pages of messages +\n`gmail-exporter --pages-limit 200 TRASH`\n\n\n==== Throttling\n\nLimit the transfer of messages at 1 per second +\n`gmail-exporter --messages-per-sec 1 TRASH`\n\nLimit the download of attachments at 5 per second +\n`gmail-exporter --attachments-per-sec 5 TRASH`\n\n\n==== Batch mode\n\nPrevent both opening the browser window for auth and eventually writing the obtained token\n`gmail-exporter --batch TRASH`\n\n\n=== Authentication\n\nWhen the application launches, it requests that the user grant access to data in the relevant Google account.\n\nIf the user consents, the application requests and receives a temporary token to access Gmail\ndata. All the exchanged data is just kept within the user local system.\n\nThe temporary token is long-lived and saved into your local folder (by default within file _token.json_).\n\n[[token-json]]The auth token file is structured as follows\n\n.token.json\n[source,json]\n----\n{\n  \"access_token\": \"...\",\n  \"token_type\": \"Bearer\",\n  \"refresh_token\": \"...\",\n  \"expiry\": \"2022-07-17T13:30:07.560873398+02:00\"\n}\n----\n\n== How to build\n\nClone the project and run +\n`go build`\n\n== How to release\n\nAdd a tag with proper message and push it\n```\ngit tag v0.0.1 -m \"First public release for wider testing.\"\ngit push origin v0.0.1 \n```\n\n== Other tools\n\nLooking for other tools to backup your email messages? (and more) +\nHere are a few alternatives that are worthy of consideration:\n\n* https://github.com/gaubert/gmvault[gmvault]\n* https://github.com/GAM-team/got-your-back[got-your-back]\n* https://github.com/joeyates/imap-backup[imap-backup]\n\n\n== Copyright and License\n\nCopyright (C) 2022-present Davide Cavestro.\nUse of this software is granted under the terms of the MIT License.\n\nSee the {url-license}[LICENSE] for the full license text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidecavestro%2Fgmail-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidecavestro%2Fgmail-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidecavestro%2Fgmail-exporter/lists"}