-
Release v1.0.0 Stable
released this
2026-01-17 18:19:56 +01:00 | 9 commits to main since this releaseInitial release of proton-mail-bridge-client.
Added
Email Operations
list_mails(folder, limit, offset, unread_only, sort_by_date, include_labels)- List emails with filtering and paginationread_mail(email_id, folder)- Read full email content with proper encoding handlingsend_mail(to, subject, body, cc, bcc, body_html)- Send emails via SMTPdelete_mail(email_id, folder, permanent)- Delete emails (move to Trash or permanent)move_mail(email_id, source_folder, destination_folder)- Move emails between foldersfind_emails(folder, subject, sender, recipient, since, before, unread_only, limit)- Search emails using IMAP SEARCHget_email_by_message_id(message_id, folder)- Find email UID by Message-ID headeradd_label(email_id, folder, label_name)- Add label to emailremove_label(email_id, label_name, folder)- Remove label from email
Folder Management
list_folders()- List all mail folderscreate_folder(name)- Create folders with automatic nested path creationrename_folder(old_name, new_name)- Rename or move foldersdelete_folder(name)- Delete custom folders (system folders protected)folder_exists(name)- Check folder existence
Label Management
list_labels()- List all user-created labelscreate_label(name)- Create labels (flat structure)rename_label(old_name, new_name)- Rename labelsdelete_label(name)- Delete labelslabel_exists(name)- Check label existence
Connection & Configuration
- Persistent IMAP/SMTP connections with automatic reconnection
- Exponential backoff retry logic (1s, 2s, 4s delays)
- Thread-safe connection access using RLock
- Context manager pattern for automatic cleanup
- Environment variable configuration support
- SOPS-encrypted credential support (
.env.sops)
Data Models
Folder- Mail folder with metadataEmailMetadata- Lightweight email headers for listingEmail- Full email content with plain text and HTML bodies
Exception Hierarchy
ProtonMailBridgeError- Base exceptionBridgeConnectionError,BridgeAuthenticationError,BridgeTimeoutErrorSMTPConnectionError,SMTPAuthenticationError,SMTPTimeoutErrorConfigurationError,SOPSDecryptionErrorFolderError,FolderNotFoundError,FolderAlreadyExistsError,InvalidFolderNameErrorLabelError,LabelNotFoundError,LabelAlreadyExistsError,InvalidLabelNameErrorEmailError,EmailNotFoundError,InvalidEmailFormatError,EmailSendError,EmailDeleteError,InvalidRecipientError
Technical Details
- 497 unit tests passing
- Python 3.12-3.14 support
- Zero external runtime dependencies (stdlib only)
- Full type hints throughout codebase
- Facade pattern with
ProtonMailClientas single public interface
Known Limitations
- No attachment handling
- No mark read/unread
- No batch operations
- No async support
- Requires ProtonMail Bridge running locally
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads