đź’µ Website Ad Revenue Calculator

Gmail logger - log your google account

I found this GitHub repository with a Python script that helps you log metadata about your Gmail inbox.

https://github.com/mddub/gmail-logger

I read the manual and replicate it.

Installation

Clone the repository with this command:

git clone git@github.com:mddub/gmail-logger.git

Add a file called secret.py , which looks like this.

email = 'your_email@gmail.com'
password = 'your_app_password'

Google app password

You probably have a Google account with 2-step verification, so you need to create a new app password for this.

  • Go to your Google account

  • Open the Security tab and find a block "Signing in to Google."

  • Click on the second option, "App passwords."

  • On the next page, you need to "Select the app and device for which you want to generate the app password." and click Generate password button

  • You will see a new password that you have to copy and add to the secret.py file. If you close this window, you will not see this password anymore, so you need to generate another one.

google create passwordPython environment

Make sure you have "pip" and "virtualenv" installed on your machine.

You need to set up a virtualenv, activate it, and install the requirements:

virtualenv venv
. venv/bin/activate
pip install -r requirements.txt

Once you have done it, please test it out:

python log_inbox.py

To schedule it to run regularly you can use crontab which schedules it every hour:

0 * * * * cd /path/to/log/to; /path/to/gmail-logger/venv/bin/python /path/to/gmail-logger/log_inbox.py >/dev/null

Reporting Output

If you were to run it hourly, inbox_count.log would look something like this:

1664363664	2022-09-28 11:14:24	48
1664367264	2022-04-28 12:14:24	49
...

Every hour, a JSON file named something like 2022-09-28_11.14.24.json would be produced:

[
  {
    "date": "Mon, 28 Mar 2022 11:14:24 +0900",
    "thread_id": "1497103965428563028",
    "unread": false,
    "from": [
      "Donald Trump <d@whitehouse.gov>"
    ],
    "subject": "Hi Rus, how are you doing?"
  },
  ...
]