self-hosted disposable email service (php) using catch-all and imap

nipos 9c75289df7 Change links to new maintainer 3 years ago
docs d835806a28 move images to docs/ 5 years ago
src 9c75289df7 Change links to new maintainer 3 years ago
.gitignore 60c2f6d537 ignore .php_cs.cache 5 years ago
.php_cs.dist 11b9216a0d fixed config 5 years ago 9c75289df7 Change links to new maintainer 3 years ago e6c59280e3 update standards 5 years ago
LICENSE.txt e92a92d16b License: GPL-3.0 7 years ago 9c75289df7 Change links to new maintainer 3 years ago
app.json 3ae1681486 Updates for Heroku (#68) 5 years ago
composer.json a564214373 renamed backend-libs to vendor 5 years ago
composer.lock d93bbe0a7d Bump php-imap/php-imap from 3.0.28 to 3.0.30 (#113) 4 years ago


A self-hosted disposable mailbox service (aka trash mail) :cloud: :envelope:

Forked from synox/disposable-mailbox

Demo: LinuxPizza



  • Anonymous usage, generate random email addresses.
  • New Mail notification. Download and delete your emails.
  • Display emails as text or html with sanitization filter.
  • Display emails based on one catch-all imap mailbox.
  • Only requires PHP >=7.2 and imap extension



Before you start :heavy_exclamation_mark:


Disposable-mailbox can be installed by copying the src directory to a webserver.

  1. assure the imap extension is installed. The following command should not print any errors:

    <?php print imap_base64("SU1BUCBleHRlbnNpb24gc2VlbXMgdG8gYmUgaW5zdGFsbGVkLiA="); ?>
  2. download a release or clone this repository

  3. copy the files in the src directory to your web server (not the whole repo!).

  4. rename config.sample.php to config.php and apply the imap settings. Move config.php to a safe location in a parent directory outside the public_html, so it is not reachable through the browser.

  5. open it in your browser, check your php error log for messages.

Build it yourself

The src directory contains all required files. If you want to update the php dependencies, you can update them yourself. You must have composer installed.

Install php dependecies:

composer update


  • IMAP Server has invalid certificate: You might have to add novalidate-cert to the IMAP settings. See flags on
  • Error 500, Internal error: Check your error log file. Add to config.php:

    ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);

Testing on MacOs

  • brew install php
  • brew tap kabel/php-ext
  • brew install kabel/php-ext/php-imap
  • php -S localhost:8000 -t src

Credit :thumbsup:

This could not be possible without...