Create an online calendar by inviting this application to your events:
- Invite the mailbox calendar to your events, replacing "test" with a name of your liking: my.mailbox.calendar+test@gmail.com.
- View that the event is actually being processed. Here, also replace
"test" with the name you chose before:
https://my-mailbox-calendar.herokuapp.com/test.html - Subscribe to the calendar with any application using ICS.
https://my-mailbox-calendar.herokuapp.com/test.ics
You can deploy the app using Heroku. There is a free plan.
This service uses an IMAP connection to the mailbox. When a request is made, the emails are filtered for the name of the calendar and are downloaded. Each event e-mail is processed for ICAL-entries.
Tested with:
- Thunderbird
- Lotus Notes
If you like to have it tested with other applications,
- Create an event and invite my.mailbox.calendar+APPLICATION@gmail.com
- Edit this event and send the changes - see if it changed.
- Create a new event and delete it - see if it disappeares.
- Open an issue for this application and mention the events you created.
- In a pull request, add the sent/received emails and add them to the tests.
This application uses Python3.
- Get the source code
git clone https://github.com/niccokunzmann/my-mailbox-calendar.git
- (Optional) Install virtualenv
pip install virtualenv virtualenv -p python3 ENV source ENV/bin/activate # do this each time you open a new console
- Install the packages
python3 -m pip install -r requirements.txt -r test-requirements.in
- Run the tests
pytest
- Launch the application
For environment variables and command line arguments, runTo launch the application with the correct credentials, usepython3 app.py --help
IMAP_HOST=imap.gmail.com:993 IMAP_USER='...@googlemail.com' IMAP_PASSWORD='...' ./app.py --debug