Git Product home page Git Product logo

opentrashmail's Introduction

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

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

    • Get random email address

    • Download attachments safely

    • Display Text/HTML

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

    • Automatically check for new emails while on site

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

opentrashmail's People

Contributors

geek-at avatar poblabs avatar eocommunity avatar marceltransier avatar mattburchett avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.