FRE-4680: Implement Milestone 2 advanced features
- Draft auto-save with configurable interval, status, and manual trigger - Email template system (save, list, use, delete templates) - Export messages to JSON, MBOX, or EML format - Import messages from JSON files - Register new commands (thread, bulk, export, import, autosave, template) - Update README.md with documentation for all new commands Build and tests pass clean. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
90
README.md
90
README.md
@@ -12,6 +12,10 @@ A ProtonMail CLI tool written in Go, similar to gog.
|
||||
- **Webhook Management**: Real-time notifications via webhook subscriptions
|
||||
- **External PGP Key Management**: Import, export, encrypt, decrypt, sign, and verify with external PGP keys
|
||||
- **CLI Plugin System**: Extend Pop functionality with external plugins
|
||||
- **Email Threading**: View and reply to conversation threads
|
||||
- **Bulk Operations**: Delete, trash, star, and mark read/unread multiple messages at once
|
||||
- **Export/Import**: Export messages to JSON, MBOX, or EML format; import from JSON
|
||||
- **Draft Auto-Save**: Automatic draft saving with configurable interval and email templates
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -119,6 +123,85 @@ pop plugin enable myplugin
|
||||
pop plugin disable myplugin
|
||||
```
|
||||
|
||||
### Email Threading
|
||||
|
||||
```bash
|
||||
# List conversation threads
|
||||
pop thread list
|
||||
|
||||
# View a full conversation thread
|
||||
pop thread show <conversation-id>
|
||||
|
||||
# Reply to a conversation
|
||||
pop thread reply <conversation-id> --body "Your reply here"
|
||||
pop thread reply <conversation-id> --body-file reply.txt
|
||||
```
|
||||
|
||||
### Bulk Operations
|
||||
|
||||
```bash
|
||||
# Delete multiple messages
|
||||
pop bulk delete --ids "id1,id2,id3"
|
||||
pop bulk delete --ids-file ids.txt
|
||||
|
||||
# Move multiple messages to trash
|
||||
pop bulk trash --ids "id1,id2,id3"
|
||||
|
||||
# Star multiple messages
|
||||
pop bulk star --ids "id1,id2,id3"
|
||||
pop bulk unstar --ids "id1,id2,id3"
|
||||
|
||||
# Mark messages as read/unread
|
||||
pop bulk mark-read --ids "id1,id2,id3"
|
||||
pop bulk mark-unread --ids "id1,id2,id3"
|
||||
```
|
||||
|
||||
### Export and Import
|
||||
|
||||
```bash
|
||||
# Export specific messages
|
||||
pop export messages --ids "id1,id2,id3" --output messages.json
|
||||
pop export messages --ids-file ids.txt --output messages.json
|
||||
|
||||
# Export messages by search
|
||||
pop export messages --search "important" --output search-results.json
|
||||
|
||||
# Export all messages from a folder
|
||||
pop export folder --folder inbox --output inbox-backup.json
|
||||
pop export folder --folder sent --format mbox --output sent.mbox
|
||||
|
||||
# Export a conversation
|
||||
pop export conversation <conversation-id> --output conversation.json
|
||||
|
||||
# Import messages from JSON
|
||||
pop import --file messages.json
|
||||
```
|
||||
|
||||
### Draft Auto-Save
|
||||
|
||||
```bash
|
||||
# Enable auto-save with default 30-second interval
|
||||
pop draft autosave enable
|
||||
|
||||
# Enable with custom interval
|
||||
pop draft autosave enable --interval 60
|
||||
|
||||
# Disable auto-save
|
||||
pop draft autosave disable
|
||||
|
||||
# Check auto-save status
|
||||
pop draft autosave status
|
||||
|
||||
# Manually trigger auto-save
|
||||
pop draft autosave run
|
||||
|
||||
# Manage email templates
|
||||
pop draft template save newsletter --subject "Monthly Update" --body "Hello..."
|
||||
pop draft template list
|
||||
pop draft template use newsletter --to recipient@example.com
|
||||
pop draft template delete newsletter
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
@@ -135,8 +218,11 @@ pop/
|
||||
│ ├── accounts.go # Multi-account support
|
||||
│ ├── webhook.go # Webhook management
|
||||
│ ├── pgp.go # PGP key management
|
||||
│ ├── plugin.go # Plugin management
|
||||
│ └── thread.go # Thread management
|
||||
│ ├── plugin.go # Plugin management
|
||||
│ ├── thread.go # Conversation threading
|
||||
│ ├── bulk.go # Bulk operations
|
||||
│ ├── export.go # Export/import functionality
|
||||
│ └── draft_autosave.go # Draft auto-save and templates
|
||||
├── internal/
|
||||
│ ├── auth/ # Session management
|
||||
│ │ └── session.go
|
||||
|
||||
Reference in New Issue
Block a user