Skip to content
This repository has been archived by the owner. It is now read-only.
self-hosted disposable email service (php) using catch-all and imap
Branch: master
Clone or download

Latest commit

dependabot-preview and synox Bump php-imap/php-imap from 3.0.28 to 3.0.30 (#113)
Bumps [php-imap/php-imap]( from 3.0.28 to 3.0.30.
- [Release notes](
- [Commits](barbushin/php-imap@3.0.28...3.0.30)

Signed-off-by: dependabot-preview[bot] <>
Latest commit d93bbe0 Oct 13, 2019


Type Name Latest commit message Commit time
Failed to load latest commit information.
docs move images to docs/ Mar 11, 2019
.gitignore ignore .php_cs.cache Mar 11, 2019
.php_cs.dist fixed config Mar 11, 2019 Feature/removed router (#83) Mar 10, 2019 update standards Mar 11, 2019
LICENSE.txt Remove sponsor Oct 13, 2019
app.json Updates for Heroku (#68) Sep 20, 2018
composer.json renamed backend-libs to vendor Mar 11, 2019
composer.lock Bump php-imap/php-imap from 3.0.28 to 3.0.30 (#113) Oct 13, 2019


Join the chat at

A self-hosted disposable mailbox service (aka trash mail) ☁️ ✉️

Demo: BhadooMail

PHP is not your thing? You should try the more efficient NodeJs version:



  • 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


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 👍

This could not be possible without...

You can’t perform that action at this time.