Support this project! All donations go towards your chosen charity. You can pick any charity you'd like, and 5% is retained due to Ko-Fi fees. As a thank you, your name will be listed as a supporter/donor in this project. Feel free to email me at thedjskywalker@gmail.com for proof! :)
Let AI help you organize your emails intelligently.
β οΈ Not yet in Thunderbird Add-on Store - Manual installation required. Official store submission in progress.
π₯ Download β’ π Documentation β’ π Report Bug β’ π‘ Request Feature
- β¨ Features
- π₯ Installation
- π Quick Start
- βοΈ AI Provider Setup
- π‘ Usage
- π§ Technical Details
β οΈ Troubleshooting- π Changelog
- π€ Contributing
|
Choose from 5 leading AI providers:
|
|
|
|
π₯ Additional Features
- β Secure Storage - Encrypted API key storage
- β Batch Processing - Sort multiple emails at once
- β Rate Limiting - Built-in quota management (Gemini)
- β Professional UI - Clean, intuitive interface
- β Move History - Track all email movements
- β Real-time Validation - Instant feedback
- β Open Source - Transparent, auditable code
1. Visit: https://github.com/Nigel1992/AutoSort-Plus/releases
2. Download: autosortplus.xpi
3. Thunderbird: Tools β Add-ons and Extensions
4. Click: βοΈ β Install Add-on From File
5. Select: autosortplus.xpi
6. Restart Thunderbirdgit clone https://github.com/Nigel1992/AutoSort-Plus.git
cd AutoSort-Plus
zip -r autosortplus.xpi manifest.json background.js options.js options.html styles.css content.js icons/Open settings and select from Gemini, OpenAI, Claude, Groq, or Mistral
Click "Get API Key" button β Create free account β Copy key
Load folders from IMAP or add custom labels
Select emails β Right-click β AutoSort+ β Analyze with AI
π Note: Currently requires manual selection and right-click. Automatic background sorting coming in future update!
| Provider | Get API Key | Free Tier | Best For |
|---|---|---|---|
| πΉ Gemini | Get Key | β 20/day per key | Best overall free option |
| πΉ Groq | Get Key | β 30/min | Speed & high limits |
| πΉ Claude | Get Key | β Limited | Privacy & safety |
| πΉ OpenAI | Get Key | Highest accuracy | |
| πΉ Mistral | Get Key | β Limited | GDPR compliance |
β οΈ IMPORTANT: Free tiers are limited for email processing due to large text content.
| Provider | Free Limit | Recommendation |
|---|---|---|
| Gemini | 20 emails/day per API key | β Create multiple keys in different projects |
| Groq | 20-30 emails/day | β Best free tier overall |
| Claude | 10-15 emails/day | Good for privacy-conscious users |
| OpenAI | 5-10 emails/day | Consider paid plan ($5-20/mo) |
| Mistral | 10-15 emails/day | Best for EU users |
π‘ Tips for Managing Free Tier Limits
For Gemini users (NEW in v1.2.1!):
- π Multiple API Keys: Add keys from different Google Cloud projects
- π Automatic Rotation: Extension switches keys when limits are reached
- π Per-Key Tracking: Monitor usage for each key independently
- β¨ Example: 5 keys = 100 requests/day total (20 per key)
- π§ How to add: Settings β Add Another Gemini Key
- Check usage: AI Studio Usage
For all providers:
- Process emails in small batches
- Use "Gemini paid plan" checkbox to disable limits (if you have paid tier)
- Consider paid plans for daily use ($5-20/month)
- Select Emails - Click one or more emails in Thunderbird
- Right-Click Menu - Right-click β AutoSort+ β Analyze with AI
- Smart Sorting - AI analyzes and moves emails to appropriate folders
- Track History - View last 100 moves in settings
π Coming Soon: Automatic background sorting (currently manual via right-click)
οΏ½ Multiple API Keys (Gemini - NEW!)
- Add unlimited keys from different projects
- Automatic rotation when limits reached
- Individual testing and status tracking
- Visual indicators (Active, Ready, Near Limit)
- Combined quota = keys Γ 20 requests/day
π Usage Monitoring (Gemini)
- Real-time usage display in settings
- Per-key usage statistics
- Automatic warnings at 15/20 limit
- Smart key rotation
π Folder Management
- Load folders from IMAP accounts
- Bulk import from text list
- Create custom categories
- Auto-create missing folders
π Move History
- Last 100 email moves
- Timestamps and destinations
- Success/failure status
- Clear history option
π Example Folder Categories
Work & Professional:
- Meetings
- Project Updates
- Invoices
- HR & Benefits
Financial:
- Bills & Payments
- Bank Statements
- Receipts
- Tax Documents
Personal:
- Family
- Friends
- Health
- Travel
Online Services:
- Shopping Confirmations
- Social Media Notifications
- Subscriptions
- Password Resets
Promotions:
- Newsletters
- Sales & Discounts
- Offers
- Marketing
Support:
- Tickets & Help
- Documentation
- Updates
- Complaints
βββββββββββββββββββββββββββββββββββββββββββ
β Thunderbird Email Client β
ββββββββββββββββ¬βββββββββββββββββββββββββββ
β
ββββββββββββββββΌβββββββββββββββββββββββββββ
β AutoSort+ Extension β
β β
β ββββββββββββ ββββββββββββ β
β β UI Layer β β Backgroundβ β
β β(options) ββββ€ Script β β
β ββββββββββββ βββββββ¬ββββββ β
β β β
β βββββββββΌβββββββββ β
β β Rate Limiter β β
β β (Gemini only) β β
β βββββββββ¬βββββββββ β
ββββββββββββββββββββββββΌββββββββββββββββββ
β
βββββββββββββββ΄ββββββββββββββ
β β
ββββββΌβββββ ββββββββββ βββββββΌββββββ
β Gemini β β Groq β β Claude β
β API β β API β β API β
βββββββββββ ββββββββββ βββββββββββββ
| File | Purpose | Key Functions |
|---|---|---|
background.js |
AI analysis engine | analyzeEmailContent(), rate limiting |
options.js |
Settings UI | Provider config, usage display |
content.js |
Email extraction | Message content parsing |
manifest.json |
Extension config | Permissions, metadata |
{
// User Configuration
apiKey: "string",
aiProvider: "gemini|openai|anthropic|groq|mistral",
labels: ["Work", "Personal", ...],
enableAi: boolean,
geminiPaidPlan: boolean,
// Rate Limiting (Gemini)
geminiRateLimit: {
requests: [timestamp, ...],
dailyCount: number,
dailyResetTime: timestamp
},
// History
moveHistory: [
{
timestamp: string,
subject: string,
status: string,
destination: string
},
...
]
}| Provider | Model | Context Window | Speed | Cost |
|---|---|---|---|---|
| Gemini | gemini-2.5-flash | 1M tokens | β‘β‘β‘ | Free/Paid |
| OpenAI | gpt-4o-mini | 128K tokens | β‘β‘ | Paid |
| Claude | claude-3-haiku | 200K tokens | β‘β‘β‘ | Free/Paid |
| Groq | llama-3.3-70b | 8K tokens | β‘β‘β‘β‘ | Free |
| Mistral | mistral-small-latest | 32K tokens | β‘β‘β‘ | Free/Paid |
| Feature | Status | Details |
|---|---|---|
| π API Key Storage | β Encrypted | OS-level encryption via browser storage |
| π§ Email Content | β Not Stored | Analyzed in memory, never persisted |
| π Data Transmission | β Direct to AI | No intermediary servers |
| π Telemetry | β None | Zero tracking or analytics |
| π Open Source | β Auditable | Full transparency |
| π‘οΈ Permissions | β Minimal | Only required APIs |
Your privacy matters: All email analysis happens directly between your Thunderbird and chosen AI provider. No data passes through our servers because we don't have any!
π§ Settings Page Won't Load
1. Thunderbird β Settings β Privacy β Cookies and Site Data
2. Click "Clear Data"
3. Tools β Add-ons β AutoSort+ β Reloadπ API Key Not Working
- Verify key is copied correctly (no spaces)
- Click "Test API Connection" button
- Check key is from correct provider
- Ensure API key has proper permissions
- For Gemini: Check usage page
β Email Analysis Fails
Check:
- β Internet connection active
- β API key is valid
- β Provider status page for outages
- β Rate limits not exceeded
- β Email content isn't empty
For Gemini users:
- Check usage counter in settings
- Verify daily limit not reached (20/day)
- Switch to new API key if needed
π Wrong Labels Applied
- Ensure labels are case-sensitive matches
- Avoid special characters in folder names
- Verify labels are saved (green checkmark)
- Check move history for patterns
β±οΈ Rate Limit Errors
Gemini (20/day per key):
- Create new API key in different project
- Reset counter after switching keys
- Enable "paid plan" option if you have one
Other Providers:
- Wait for rate limit window to reset
- Consider upgrading to paid tier
- Use provider's usage dashboard
| Component | Requirement |
|---|---|
| Thunderbird | 78.0 or later |
| Internet | Active connection for API calls |
| API Key | Valid key from chosen provider |
| Storage | ~1MB for extension data |
| OS | Windows, macOS, Linux |
π New Features
- β Multi-provider AI support (5 providers)
- β Gemini rate limiting (5/min, 20/day enforcement)
- β Real-time usage tracking dashboard
- β IMAP folder auto-discovery
- β Bulk label import
- β Move history (last 100 entries)
- β Professional UI redesign
- β Provider info cards
π§ Improvements
- β Groq updated to llama-3.3-70b
- β Better error handling and validation
- β Auto-create missing folders
- β Skip null categories
- β Batch email processing fixes
- β Professional funnel/envelope icons
- β Example folder categories
βοΈ Technical Changes
- β Unified API key storage
- β Settings validation system
- β Recursive folder traversal
- β Fixed syntax errors in options.js
- β Improved state management
- Initial release with Gemini support
| Priority | Feature | Status |
|---|---|---|
| π΄ High | Detailed Logging - Debug mode with console output | π Planned |
| π΄ High | API Response Headers - Extract rate limit info from API | π Planned |
| π‘ Medium | Smart Key Switching - Auto-suggest when to switch keys | π‘ Proposed |
| π‘ Medium | Scheduled Processing - Auto-sort at specific times | π‘ Proposed |
| π’ Low | Custom Rules - User-defined sorting logic | π‘ Proposed |
| π’ Low | Statistics Dashboard - Email sorting analytics | π‘ Proposed |
None currently reported! π
If you encounter any issues, please open an issue on GitHub.
| π‘ Questions | π Bug Reports | β¨ Feature Requests |
|---|---|---|
| Discussions | Issues | Issues |
Before reporting:
- Check Troubleshooting section
- Search existing issues
- Include Thunderbird version and extension version
We welcome contributions! Here's how to help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
Guidelines:
- Follow existing code style
- Add comments for complex logic
- Test with multiple AI providers
- Update README for new features
MIT License
Copyright (c) 2026 Nigel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
See LICENSE file for full text.
Icon Design:
Email filtering icons created by Fantasyou - Flaticon
AI Providers:
Built with:
- Thunderbird WebExtension APIs
- JavaScript ES6+
- Manifest v2
Made with β€οΈ to help you organize email faster
β¬ Back to Top β’ π GitHub β’ π¦ Latest Release β’ π Documentation