https://github.com/abhiraj-ku/postbox
An open-source, developer-friendly email-sending service built with Go, Redis, PostgreSQL, and MongoDB.
https://github.com/abhiraj-ku/postbox
awsses docker emailservice golang mongodb opensource postgresql redis
Last synced: 5 months ago
JSON representation
An open-source, developer-friendly email-sending service built with Go, Redis, PostgreSQL, and MongoDB.
- Host: GitHub
- URL: https://github.com/abhiraj-ku/postbox
- Owner: abhiraj-ku
- License: mit
- Created: 2024-10-12T05:00:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-20T15:11:19.000Z (over 1 year ago)
- Last Synced: 2025-03-30T11:41:31.873Z (over 1 year ago)
- Topics: awsses, docker, emailservice, golang, mongodb, opensource, postgresql, redis
- Language: Go
- Homepage:
- Size: 8.79 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PostBox
PostBox is an open-source, developer-friendly email-sending service that simplifies the process of sending batch emails using Go, Redis, PostgreSQL, and MongoDB. With integration to AWS SES, PostBox ensures reliable email delivery for various applications, making it a lightweight alternative to major players.
## Features
- Easy-to-use API for sending emails and batch processing.
- Integration with AWS SES for email delivery.
- Supports Redis for efficient queuing.
- Uses PostgreSQL and MongoDB for relational and JSON data storage.
- Containerized with Docker for smooth deployment.
- Designed for scalability with CI/CD integration (GitLab CI).
## Technology Stack
- **Backend**: Go
- **Queue**: Redis
- **Databases**: PostgreSQL (relational data), MongoDB (JSON records)
- **Email Provider**: AWS SES
- **Deployment**: Docker, GitLab CI/CD (Kubernetes and Jenkins support coming soon)
## Installation
### Prerequisites
- Go (1.18 or higher)
- Docker and Docker Compose
- Redis
- PostgreSQL
- MongoDB
- AWS (account)
### Steps
1. **Clone the repository**
```bash
git clone https://github.com/your-username/PostBox.git
cd PostBox
```
2. **Set up environment variables**
Create a `.env` file based on `.env.example` and fill in the necessary configuration details: