A self-hosted disposable temporary mailbox service using php, catch-all email and imap.
Forked From: https://github.com/synox/disposable-mailbox
I made some minor modifications and use it as live production at the following website:
Live & Demo: Joyabo (www.joyabo.com)
Joyabo is a project of Wufuquan
Features
- Anonymous usage.
- Generate random email addresses or specify your own.
- Download your emails.
- Display emails as text with sanitization filter.
- Display emails based on one catch-all imap mailbox.
- Only requires PHP >=7.2 and imap extension.
Usage
Requirements
- Webserver with php >=7.2
- Php imap extension
- IMAP account and a domain with catch-all configuration. (all emails go to one mailbox).
Before you start ❗
- 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/joyabo/disposable-mailbox in the footer is appreciated.
Installation
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
srcdirectory to your web server (not the whole repo!). -
Rename
config.sample.phptoconfig.phpand apply the imap settings. Moveconfig.phpto 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.
Troubleshooting
-
IMAP Server has invalid certificate: You might have to add
novalidate-certto 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);
Credit 👍
This could not be possible without...
- https://github.com/synox/disposable-mailbox
- https://github.com/barbushin/php-imap
- https://github.com/gnugat-legacy/PronounceableWord
- http://htmlpurifier.org/,
- https://github.com/turbolinks/turbolinks
- http://tobiasahlin.com/spinkit/
Others
Looking for similar services with different approaches? Try: Ikahana.
