Skip to content
/ redox_mail Public template

A modern, cross-platform email client built with Java Swing and FlatLaf. Features clean UI, DPI scaling, HTML email support, and full IMAP/SMTP integration.

License

Notifications You must be signed in to change notification settings

reedaa01/redox_mail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Redox Mail

A modern, cross-platform email client built with Java Swing and FlatLaf, featuring a clean and professional user interface with full DPI scaling support.

Java Maven License

Features

  • πŸ“§ 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

Screenshots

image image

Technologies Used

  • 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

Prerequisites

  • Java 8 or higher
  • Maven 3.6 or higher (for building from source)

Installation

Option 1: Build from Source

  1. Clone the repository:
git clone https://github.com/yourusername/redox-mail.git
cd redox-mail
  1. Build the project:
mvn clean package
  1. Run the application:
java -jar target/mail-client-1.0-SNAPSHOT.jar

Option 2: Download Pre-built JAR

Download the latest release JAR file and run:

java -jar mail-client-1.0-SNAPSHOT.jar

Configuration

  1. On first launch, the settings window will open automatically if no configuration is found.

  2. Configure your email server settings:

    • IMAP Host: Your IMAP server address (e.g., imap.gmail.com)
    • IMAP Port: Usually 993 for SSL
    • SMTP Host: Your SMTP server address (e.g., smtp.gmail.com)
    • SMTP Port: Usually 465 for SSL or 587 for TLS
    • Username: Your email address
    • Password: Your email password
  3. 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

Usage

Basic Operations

  • 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..."

Keyboard Shortcuts

  • Ctrl+F: Focus search bar
  • Enter: Open selected message
  • Delete: Delete selected message (when available)

Project Structure

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

Building

Standard Build

mvn clean package

Build with Executable (Windows)

The project includes Launch4j configuration for creating Windows .exe files:

mvn clean package
# The .exe will be in target/ directory

DPI Scaling

Redox 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.

Contributing

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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Known Issues

  • 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

Roadmap

  • Email attachments support
  • Email composition with rich text editor
  • Multiple account support
  • Email filters and rules
  • Offline mode
  • Email encryption support
  • Calendar integration

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

  • FlatLaf for the beautiful modern UI
  • Jakarta Mail for email protocol support
  • All contributors and users of this project

Support

If you encounter any issues or have questions, please open an issue on GitHub.


Made with ❀️ using Java Swing

About

A modern, cross-platform email client built with Java Swing and FlatLaf. Features clean UI, DPI scaling, HTML email support, and full IMAP/SMTP integration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages