A modern, cross-platform email client built with Java Swing and FlatLaf, featuring a clean and professional user interface with full DPI scaling support.
- π§ Full Email Management: Send, receive, and manage emails with ease
- π¨ Modern UI: Clean, professional interface with FlatLaf theming (Light/Dark mode)
- π± DPI Scaling: Automatic scaling for high-DPI displays (Windows, macOS, Linux)
- π Search: Fast search across subjects, senders, and email content
- π Folder Management: Support for Inbox, Sent, Drafts, Spam, Trash, Archive, and custom folders
- π€ Avatar Icons: Colorful circular avatars with sender initials
- π HTML Email Support: Rich HTML email rendering with clean styling
- βοΈ Easy Configuration: Simple settings window for IMAP/SMTP configuration
- π Secure: Supports SSL/TLS for secure email connections
- Java 8+: Core programming language
- Java Swing: GUI framework
- FlatLaf 3.0: Modern Look and Feel for Swing applications
- Jakarta Mail (javax.mail): IMAP/SMTP email protocol support
- Maven: Build automation and dependency management
- Java 8 or higher
- Maven 3.6 or higher (for building from source)
- Clone the repository:
git clone https://github.com/yourusername/redox-mail.git
cd redox-mail- Build the project:
mvn clean package- Run the application:
java -jar target/mail-client-1.0-SNAPSHOT.jarDownload the latest release JAR file and run:
java -jar mail-client-1.0-SNAPSHOT.jar-
On first launch, the settings window will open automatically if no configuration is found.
-
Configure your email server settings:
- IMAP Host: Your IMAP server address (e.g.,
imap.gmail.com) - IMAP Port: Usually
993for SSL - SMTP Host: Your SMTP server address (e.g.,
smtp.gmail.com) - SMTP Port: Usually
465for SSL or587for TLS - Username: Your email address
- Password: Your email password
- IMAP Host: Your IMAP server address (e.g.,
-
Settings are saved in
config.properties(not tracked by Git for security).
Alternatively, you can manually create config.properties from config.properties.example:
imap.host=your-imap-server.com
imap.port=993
smtp.host=your-smtp-server.com
smtp.port=465
mail.username=your-email@example.com
mail.password=your-password- Compose Email: Click "Nouveau" button to compose a new email
- View Messages: Click on any message in the list to view its content
- Search: Use the search bar to find emails by subject, sender, or content
- Mark as Read/Unread: Right-click on a message and select the appropriate option
- Delete: Right-click on a message and select "Supprimer"
- Move to Folder: Right-click on a message and select "DΓ©placer vers..."
Ctrl+F: Focus search barEnter: Open selected messageDelete: Delete selected message (when available)
redox-mail/
βββ src/
β βββ main/
β βββ java/
β β βββ com/
β β βββ renthere/
β β βββ mail/
β β βββ config/ # Configuration management
β β βββ model/ # Data models (EmailMessage, MailFolder)
β β βββ service/ # IMAP/SMTP services
β β βββ ui/ # User interface components
β βββ resources/
β βββ *.png # Application icons
βββ pom.xml # Maven configuration
βββ config.properties.example # Configuration template
βββ README.md # This file
mvn clean packageThe project includes Launch4j configuration for creating Windows .exe files:
mvn clean package
# The .exe will be in target/ directoryRedox Mail automatically detects and scales UI elements based on your system's DPI settings. This ensures a consistent and professional appearance on:
- High-DPI displays (125%, 150%, 200% scaling)
- 4K and Retina displays
- Multiple monitor setups with different DPI
The scaling is handled automatically by the DPIScaling utility class.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Some email servers may require app-specific passwords (e.g., Gmail)
- Very large email attachments may cause performance issues
- HTML email rendering may vary depending on email content
- Email attachments support
- Email composition with rich text editor
- Multiple account support
- Email filters and rules
- Offline mode
- Email encryption support
- Calendar integration
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- FlatLaf for the beautiful modern UI
- Jakarta Mail for email protocol support
- All contributors and users of this project
If you encounter any issues or have questions, please open an issue on GitHub.
Made with β€οΈ using Java Swing