A self-hosted disposable mailbox service (aka trash mail) ☁️ ✉️
Demo: BhadooMail
PHP is not your thing? You should try the more efficient NodeJs version: https://github.com/synox/void-mail
- 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
- webserver with php >=7.2
- php imap extension
- IMAP account and a domain with catch-all configuration. (all emails go to one mailbox).
- Subscribe to to be notified about issues and bugfixes.
- This is Beta software, there are still unsolved problems. Contributions are welcome! ❤️
- License: GPL-3.0. You can modify this application and run it anywhere, charge money and show advertisement. Any forks or repacked distribution must follow the GPL-3.0 license.
- A link to https://github.com/synox/disposable-mailbox in the footer is appreciated.
Disposable-mailbox can be installed by copying the src directory to a webserver.
-
assure the imap extension is installed. The following command should not print any errors:
<?php print imap_base64("SU1BUCBleHRlbnNpb24gc2VlbXMgdG8gYmUgaW5zdGFsbGVkLiA="); ?>
-
download a release or clone this repository
-
copy the files in the
src
directory to your web server (not the whole repo!). -
rename
config.sample.php
toconfig.php
and apply the imap settings. Moveconfig.php
to a safe location in a parent directory outside thepublic_html
, so it is not reachable through the browser. -
open it in your browser, check your php error log for messages.
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 http://php.net/manual/en/function.imap-open.php. -
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);
- brew install php
- brew tap kabel/php-ext
- brew install kabel/php-ext/php-imap
- php -S localhost:8000 -t src
This could not be possible without...