All Projects → HaschekSolutions → Opentrashmail

HaschekSolutions / Opentrashmail

Licence: apache-2.0
Open Source standalone trashmail solution that ships its own mail server

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Opentrashmail

Meaju
meaju is a free link shortener from Germany, which everyone can install on his own server.
Stars: ✭ 13 (-92.7%)
Mutual labels:  selfhosted
Launchbot
A startpage to open collections of websites with one click. It’s like restoring tabs, but anywhere.
Stars: ✭ 76 (-57.3%)
Mutual labels:  selfhosted
Docat
Host your docs. Simple. Versioned. Fancy.
Stars: ✭ 115 (-35.39%)
Mutual labels:  selfhosted
Cve Api
Unofficial api for cve.mitre.org
Stars: ✭ 36 (-79.78%)
Mutual labels:  selfhosted
Server Setup
Home Server Setup
Stars: ✭ 59 (-66.85%)
Mutual labels:  selfhosted
Community
Modern Confluence alternative designed for internal & external docs, built with Golang + EmberJS
Stars: ✭ 1,286 (+622.47%)
Mutual labels:  selfhosted
Bookstack
A platform to create documentation/wiki content built with PHP & Laravel
Stars: ✭ 7,733 (+4244.38%)
Mutual labels:  selfhosted
Ownhealthrecord
This repository is about the OwnHealthRecord Application Web App
Stars: ✭ 162 (-8.99%)
Mutual labels:  selfhosted
Tanoshi
Selfhosted web manga reader
Stars: ✭ 71 (-60.11%)
Mutual labels:  selfhosted
Personal Management System
Your web application for managing personal data. <[email protected]>
Stars: ✭ 2,027 (+1038.76%)
Mutual labels:  selfhosted
Quizmaster
A web-app for conducting a quiz over the internet
Stars: ✭ 42 (-76.4%)
Mutual labels:  selfhosted
Ohmyform
✏️ Free open source alternative to TypeForm, TellForm, or Google Forms ⛺
Stars: ✭ 1,065 (+498.31%)
Mutual labels:  selfhosted
Selfhosted Server
Selfhosted server with Ansible.
Stars: ✭ 91 (-48.88%)
Mutual labels:  selfhosted
Passwordcockpit
Passwordcockpit is a simple, free, open source, self hosted, web based password manager for teams. It is made in PHP, Javascript, MySQL and it run on a docker service. It allows users with any kind of device to safely store, share and retrieve passwords, certificates, files and much more.
Stars: ✭ 34 (-80.9%)
Mutual labels:  selfhosted
Reel2bits
Self-hosted Soundtracks and Podcasts sharing, with ActivityPub federation.
Stars: ✭ 128 (-28.09%)
Mutual labels:  selfhosted
Yunohost
YunoHost is an operating system aiming to simplify as much as possible the administration of a server. This repository corresponds to the core code, written mostly in Python and Bash.
Stars: ✭ 832 (+367.42%)
Mutual labels:  selfhosted
Gokapi
Lightweight selfhosted Firefox Send alternative without public upload
Stars: ✭ 84 (-52.81%)
Mutual labels:  selfhosted
Ownphotos Frontend
Stars: ✭ 171 (-3.93%)
Mutual labels:  selfhosted
Imgpush
Minimalist Self-hosted Image Service for user submitted images in your app
Stars: ✭ 144 (-19.1%)
Mutual labels:  selfhosted
Reminiscence
Self-Hosted Bookmark And Archive Manager
Stars: ✭ 1,303 (+632.02%)
Mutual labels:  selfhosted

Open Trashmail

Open Trashmail

Apache License HitCount

Host your own trashmail solution to use with your own domains or subdomains

Screenshot of Open Trashmail

Features

  • Python-powered mail server that works out of the box for any domain you throw at it
  • API for integrating it in your own projects. Can be used to give users individual email addresses and read what they send to it
  • Handles attachments
  • Web interface to manage emails
  • Generates random email addresses
  • 100% file based, no database needed
  • Can be used as Email Honeypot

Configuration

Just edit the config.ini You can use the following settings

  • DOMAINS -> Comma separated list of domains this mail server will be receiving emails on. It's just so the web interface can generate random addresses
  • MAILPORT-> The port the Python-powered SMTP server will listen on. Default: 25
  • ADMIN -> An email address (doesn't have to exist, just has to be valid) that will list all emails of all addresses the server has received. Kind of a catch-all
  • DATEFORMAT -> How should timestamps be shown on the web interface (moment.js syntax)

Roadmap

  • [x] Mail server
    • [x] Storing received mails in JSON
    • [x] Storing file attachments
  • [x] Docker files and configs
  • [ ] Web interface
    • [x] Choose email

    • [x] Get random email address

    • [x] Download attachments safely

    • [x] Display Text/HTML

    • [x] API so all features from the site can also be automated and integrated

    • [x] Automatically check for new emails while on site

    • [x] Admin overview for all available email addresses

    • [ ] Secure HTML, so no malicious things can be loaded

    • [ ] Display embedded images inline using Content-ID

    • [ ] Option to show raw email

    • [ ] Delete messages

    • [ ] Make better theme

  • [ ] Configurable settings
    • [x] Choose domains for random generation
    • [ ] Choose if out-of-scope emails are discarded
    • [ ] Honeypot mode where all emails are also saved for a catchall account
    • [ ] Optionally secure whole site with a password
    • [ ] Optionally allow site to be seen only from specific IP Range

Quick start

Simple start with no persistence

docker run -it -p 25:25 -p 80:80 hascheksolutions/opentrashmail

Saving data directory on host machine

docker run -p 80:80 -p 25:25 -v /path/on/host/where/to/save/data:/var/www/opentrashmail/data hascheksolutions/opentrashmail

Complete example with running as daemon, persistence, a domain for auto-generation of emails and auto restart

docker run -d --restart=always --name opentrashmail -e "DOMAINS=mydomain.eu" -e "DATEFORMAT='D.M.YYYY HH:mm'" -p 80:80 -p 25:25 -v /path/on/host/where/to/save/data:/var/www/opentrashmail/data hascheksolutions/opentrashmail

How it works

The heart of Open Trashmail is a Python-powered SMTP server that listens on incoming emails and stores them as JSON files. The server doesn't have to know the right email domain, it will just catch everything it receives. You only have to expose port 25 to the web and set an MX record of your domain pointing to the IP address of your machine.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].