Convert email_forwarder.py to a package with __main__.py for module execution.
Update systemd service to use -m email_forwarder.
Configure pyproject.toml to exclude state/ from packaging.
Changes:
- Create email_forwarder/ package with __init__.py and __main__.py
- Move main script to email_forwarder/email_forwarder.py
- Update ExecStart to python -m email_forwarder
- Add setuptools config to exclude state/ directory
- Rename main.py to email_forwarder.py for better readability
- Update systemd service to use in ExecStart and EnvironmentFile,
remove WorkingDirectory to fix expansion issues
- Update install.sh and README references
- Drop-in sets PROJECT_DIR for runtime expansion
Changes:
- File rename: main.py -> email_forwarder.py
- Service: ExecStart and EnvironmentFile now use
- Docs: Updated to reflect new script name
Change default from INBOX to INBOX,Sent for better out-of-the-box
experience, as Sent is commonly forwarded alongside inbox.
Changes:
- Update FOLDERS in .env.example
- Update README to reflect new default
Add support for syncing multiple IMAP folders with auto-creation of missing
dest folders and configurable folder selection.
Changes:
- Update main.py to loop over folders, with auto-create for dest
- Add FOLDERS env var for all or specific folders
- Update .env.example and README for FOLDERS config
Provide automated installation for Linux users to set up venv and systemd
services with proper path configuration.
Changes:
- Add install.sh with dependency checks, venv setup, and systemd configuration
- Update README to highlight automated install option
Provide override.conf.sample as a template for customizing systemd
environment paths.
Changes:
- Rename override.conf to override.conf.sample with placeholders and comments
- Update README to instruct copying the sample
Add core IMAP forwarding logic with time-based searches and Message-ID
deduplication to prevent duplicates in destination mailbox.
Changes:
- Implement SINCE-based email search using last_run.txt for incremental forwarding
- Add Message-ID extraction and IMAP checks for deduplication
- Configure systemd user services with drop-in overrides for portability
- Integrate Uptime Kuma pings for monitoring
- Set up virtual environment for dependency isolation
- Update documentation and configuration templates