self-hosted disposable email service (php) using catch-all and imap
Find a file
2016-09-14 20:38:41 +02:00
dist upgrade versions and readme 2016-09-14 20:27:18 +02:00
src dist 2016-09-14 18:47:36 +02:00
.babelrc refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
.eslintrc remove react dependencies 2016-09-14 20:38:41 +02:00
.gitignore initial 2016-07-02 23:05:44 +02:00
build.sh upgrade versions and readme 2016-09-14 20:27:18 +02:00
composer.json initial 2016-07-02 23:05:44 +02:00
composer.lock upgrade versions and readme 2016-09-14 20:27:18 +02:00
package.json remove react dependencies 2016-09-14 20:38:41 +02:00
readme.md readme 2016-09-14 20:28:11 +02:00
screenshot.png initial 2016-07-02 23:05:44 +02:00
server.js refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
Vagrantfile initial 2016-07-02 23:05:44 +02:00
webpack.config.js remove react dependencies 2016-09-14 20:38:41 +02:00

self-hosted disposable email service

Join the chat at https://gitter.im/synox/disposable-mailbox

Goals:

  • easy to use: generate random name or use custom name, auto refresh
  • easy to host: just php5 + imap extension
  • easy to install: just copy files in dist
  • minimal code base: minimal features and complexity
Screenshot

Quality/Status:

This is alpha-tested software, do not use it in production yet, it may lose your mails and people may gain access to your mails. There are still unsolved problems. Contributions are welcome!

Licence

Creative Commons License
disposable-mailbox by github:synox is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Webserver requirements

  • php >=5.3.0
  • imap extension
  • apache 2 (but should work on any webserver)

Installation

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

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

  3. copy the dist directory to your web server.

  4. rename config.sample.php to config.php and apply the imap settings. Move config.php to a safe location outside the public_html.

  5. open backend.php and set the new path to config.php.

Build it yourself

Instead of using the files in the dist directory you can also build it yourself. You must have npm and composer installed. The files are written to the dist directory. See also build.sh.

Install php dependecies:

composer install

Copy backend files:

cp -rv src/{backend.php,config.sample.php} dist/

Install javascript dependencies:

npm install

Build frontend:

npm run build

Run frontend with development server:

npm start

There is a Vagrantfile, in case you are familiar with vagrant.

TODO

  1. setup a link redirection provider (to keep the existence of your installation secret)
  2. provide error message if config.php is missing or in a public folder.

Credit

This could not be possible without...