to allow helpful GMail tasks over OAuth2 API using Google's API Client
- generate and store
credentials.jsonby creating an OAuth client ID credentials for your Google account by browsing https://console.developers.google.com/apis/dashboard and clicking on+ Create Credentialsbutton
details on how to get credentials json are here
-
for creating mail filter queries Google Support Reference can be used
-
if for some reason different scope need to be used in configuration, Gmail Scope Reference can be used
- Permanently delete mails based on search criteria allowed by GMail such as partial match of
subject,toorfrome-mail address fields (also allowing just domain match). Ran for a range of years provided by config assince_yearandbefore_year.
by default it reads mails first and stores it locally (except attachments) in a sqlite DB separated by year of mail, then deletes
How to use:
python3 delete-mails.py ./config-yamls/delete-mails-config.yamlGMail API doc: developers.google.com/gmail/api/v1/reference/users/messages/delete
result after a recent run
- Fetch created GMail Labels and persist to a local DB
How to use:
python3 get-labels.py ./config-yamls/get-labels-config.yaml
- Get all GMail filters
persisted in db:
python3 get-labels.py ./config-yamls/get-filters-config.yamlexported to json in configured dir
filters_json_basepathwith adding switch--to-jsonto above command
- Create a new/overwrite GMail filter
read command help for usage help
details can be found at developers.google.com
-
offline backup of mails (all/filtered) into local SQLite3 db file; not of attachments
-
send mails from a custom template to a list of receivers
-
check recent mails for a specific mail, act as desired if received
-
Decent list and definitions for possible exposures for Google-API-Python-Client http://googleapis.github.io/google-api-python-client/docs/dyn/gmail_v1.html
