- Updated SDK_DECODER_SEMVER to "1.3.0" and GUI_SEMVER to "1.2.4" in config.ini. - Updated MailViewer component to handle PDF already open error and improved iframe handling. - Removed deprecated useMsgConverter setting from settings page. - Added IsDebuggerRunning function to check for attached debuggers and quit the app if detected. - Enhanced PDF viewer to prevent infinite loading and improved error handling. Co-Authored-By: Laky-64 <iraci.matteo@gmail.com>
EMLy
EMLy is a lightweight, cross-platform EML (Email Message) viewer built with Wails, Go, and Svelte. It allows users to open and view .eml files, including support for viewing attachments like images and PDFs.
Requirements
Before developing or building EMLy, ensure you have the following installed:
- Go: Version 1.24 or later (Project uses 1.24.4) - Download
- Wails CLI: Version v2 - Installation Guide
- Node.js: Required for the frontend build tools.
- Bun: The project uses
bunas the frontend package manager. - Install Bun- Install via:
powershell -c "irm bun.sh/install.ps1 | iex"(Windows) orcurl -fsSL https://bun.sh/install | bash(macOS/Linux).
- Install via:
Installation
-
Clone the repository:
git clone https://github.com/yourusername/EMLy.git cd EMLy -
Install frontend dependencies:
cd frontend bun install cd ..Note: The Wails build process is configured to handle
bun installautomatically if you runwails build, but running it manually ensures your IDE is happy.
Live Development
To run the application in development mode with hot-reload:
wails dev
- This starts the Go backend and a Vite development server for the frontend.
- The application window will open automatically.
- You can also access the frontend in a browser at
http://localhost:34115to debug with standard browser devtools (though backend calls will still route to the running Go process).
Building
To build a redistributable, production-ready binary:
wails build
The output binary will be located in the build/bin directory.
Cross-Compilation & Installers
The project contains configuration for building installers:
- Windows: NSIS script located in
build/windows/installer/project.nsi. - MacOS: Bundle configuration in
build/darwin/.
To build with specific platform targets (if your environment supports it):
wails build -platform windows/amd64
Testing
Frontend Tests
Run the Svelte check to ensure type safety and valid Svelte code:
cd frontend
bun run check
Backend Tests
To run Go unit tests (if any are added to backend/) or standard Go tests:
go test ./...