self-hosted disposable email service (php) using catch-all and imap
Find a file
2016-09-14 08:47:24 +02:00
dist refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
src refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
.babelrc refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
.eslintrc refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
.gitignore initial 2016-07-02 23:05:44 +02:00
build.sh refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
composer.json initial 2016-07-02 23:05:44 +02:00
composer.lock initial 2016-07-02 23:05:44 +02:00
package.json refactor with bootstrap 4 2016-09-14 08:47:24 +02:00
readme.md Merge branch 'master' of https://github.com/synox/disposable-mailbox 2016-07-08 14:02:54 +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 refactor with bootstrap 4 2016-09-14 08:47:24 +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 yes, 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.

Install php dependecies:

composer install

Install javascript dependencies:

npm install

Build frontend:

gulp build

The files are written to the dist directory. See also build.sh.

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

TODO

  1. reduce total dist size (<1 MB)
  2. setup a link redirection provider (to keep the existence of your installation secret)
  3. maybe make mails collapsible
  4. provide error message if config.php is missing or in a public folder.

Credit

This could not be possible without...