Usually, I receive a lot of emails, and sometimes I read them on my phone and then… I forgot about them.. (shame on me).
On my Linux desktop, I used to use Get Things Gnome for a long time, due to the declining appeal of the project and the end of the extension for Thunderbird, I found it less and less useful.
I was then looking for a solution to have my todolist accessible from everywhere and that I could manage it myself, not hosted somewhere.
I found a very nice, fast and practical project that was easy to deploy and was using MySQL as backend: myTinyTodo.
However, I was missing the possibility to easily create a new task from an email (and especially on my phone).
This is why I decided to write a script that would perform exactly what I was looking for and integrated it with myTinyTodo.
mail2todo was born !
This script reads the emails from a dedicated imap account and populate the MySQL database used by myTinyTodo.
I really like how tags where handled in Get Things Gnome, so I used the same behavior:
This script is doing exactly what I needed !
The requirements are simple:
- Python >= 3.8
- MySQL 8.0 with X Protocol enabled
- MySQL Connector Python
- an Imaps account
The code can be improved but currently it does what I need and this is why I decided to share it. You can also see how easy it’s to work with the mysqlx
module even to handle only SQL queries.
Enjoy MySQL, Python, the X Protocol and myTinytodo !