📌 Receive a daily email with all your past Pinboard bookmarks from this date in history. Like TimeHop, but for Pinboard.
Daily Pinboard is a Python script that emails you a list of all your Pinboard bookmarks made on this day in previous years. If no bookmarks exist for that date, no email is sent. This is a great way to rediscover old saved links over time.
Ensure you have the required Python packages installed.
pip install -r requirements.txt
This code uses a config.py
file in the same directory as the script, which contains your secrets.
To use this, rename config-example.py
to config.py
and update all the variables:
Config | Description |
---|---|
MSG_FROM | Email address where the daily email should be sent from |
MSG_TO | Email address where you want the email sent |
SMTP_SERVER | Your SMTP server address |
SMTP_USERNAME | Your SMTP server username |
FIRST_POST_YEAR | The year in which you made your first Pinboard bookmark |
Also, add your Pinboard API token (from your Pinboard password page) and SMTP passwords as environmental variables (/etc/environment
):
PINBOARD_API_TOKEN=your_pinboard_api_token
SMTP_PASS=your_smtp_password
PINBOARD_API_TOKEN
: Pinboard API token (Get yours from Pinboard Settings)SMTP_PASS
: Your SMTP server password
TIP: (optional) If you want a simple and inexpensive way to forward and send emails with your domains, I've been a happy customer of ForwardedEmail.net for a while now. This is not an ad, just a personal recommendation.
Execute the script manually:
python daily_pinboard.py
Or set up a cron job for daily execution:
- Make the scripts executable:
chmod +x rundailypinboard.sh
chmod +x daily-pinboard.py
- Open your crontab file:
crontab -e
- Add the following line:
0 7 * * * /path/to/rundailypinboard.sh >> /path/to/daily-pinboard/logs.txt 2>&1
Note: Replace both /path/to/
with the actual paths to your script and logs.txt file.
The cron job will run daily at 7 AM (server timezone). You can adjust the schedule to your preferred time. Logs are saved to logs.txt
, which is ignored by this repository.
If you have improvements or optimizations, feel free to submit a pull request!
Similarly, if you have any problems or bugs to report, please file an issue.
This project is licensed under the MIT License. See LICENSE
for details.
Curious about what I plan to do next? Here's the plan:
- Switch to Mailgun for email delivery
- Update code so email html is in separate file
- Use beefree.io to design better email