self-hosted disposable email service (php) using catch-all and imap
Find a file
2016-07-05 17:33:41 +02:00
dist mail simpler 2016-07-05 17:33:41 +02:00
src mail simpler 2016-07-05 17:33:41 +02:00
.babelrc initial 2016-07-02 23:05:44 +02:00
.gitignore initial 2016-07-02 23:05:44 +02:00
.jshintrc initial 2016-07-02 23:05:44 +02:00
.travis.yml only node 2016-07-05 17:31:59 +02:00
build.sh build script 2016-07-03 01:37:11 +02:00
composer.json initial 2016-07-02 23:05:44 +02:00
composer.lock initial 2016-07-02 23:05:44 +02:00
gulpfile.babel.js initial 2016-07-02 23:05:44 +02:00
karma.conf.js initial 2016-07-02 23:05:44 +02:00
package.json travis 2016-07-05 17:15:30 +02:00
readme.md todo: error message for config 2016-07-05 11:34:00 +02:00
screenshot.png initial 2016-07-02 23:05:44 +02:00
shared.build.config.js tabs and sass/scss 2016-07-03 01:31:29 +02:00
spec.bundle.js initial 2016-07-02 23:05:44 +02:00
Vagrantfile initial 2016-07-02 23:05:44 +02:00
webpack.config.js initial 2016-07-02 23:05:44 +02:00

self-hosted disposable email service

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.

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...