Skip to content

gituser12981u2/MailClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mail Client

This is a simple email client application with a RESTful API backend written in Go. It supports multiple email providers, with current implementation focused on ProtonMail

!!This is a work in progress

Goal

The overall goal of this project is to make a feature rich and extensible email client backend that can be used to aggregate all email services in one frontend.

Future Features

  • RESTful API for email operations
  • Support for multiple email providers through SMTP and IMAP protocols and specific Google, ProtonMail, and Microsoft Exchange implementations
  • JWT-based authentication
  • Email listing, viewing, and sending

Prerequisites

  • Go 1.16 or higher

Installation:

  1. Clone the repository:
git clone https://github.com/gituser12981u2/mailclient.git
cd mailclient
  1. Install dependencies:
go mod tidy
  1. Create a config.json file in the project root with the following structure:
{
    "server_address": ":8080",
    "provider:" "proton",
    "provider_config": {
        "username": "your_protonmail_username",
        "password": "your_protonmail_password"
    },
    "jwt_secret": "your_jwt_secret"
}

Running the Application

To start the server, run:

go run main.go

API Endpoints

  • GET /api/v1/emails: List emails
  • GET /api/v1/emails/:id: Get a specific email
  • POST /api/v1/emails: Send a new email

Project Structure

  • main.go: Entry point of the application
  • internal/: Contains the core application code
    • api/: API-related code including route setup
    • config/: Configuration loading and management
    • models/: Data models
    • providers/: Email provider implementations
    • services/: Business logic services

Contributing

Contributions are welcome. Please feel free to sumbit a Pull Request.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages