dist | ||
src | ||
.babelrc | ||
.gitignore | ||
.jshintrc | ||
.travis.yml | ||
build.sh | ||
composer.json | ||
composer.lock | ||
gulpfile.babel.js | ||
karma.conf.js | ||
package.json | ||
readme.md | ||
screenshot.png | ||
shared.build.config.js | ||
spec.bundle.js | ||
Vagrantfile | ||
webpack.config.js |
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
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
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
-
assure the imap extension is installed. The following command should not print any errors:
<?php print imap_base64("SU1BUCBleHRlbnNpb24gc2VlbXMgdG8gYmUgaW5zdGFsbGVkLiA="); ?>
-
clone or download this repository
-
copy the
dist
directory to your web server. -
rename
config.sample.php
toconfig.php
and apply the imap settings. Moveconfig.php
to a safe location outside thepublic_html
. -
open
backend.php
and set the new path toconfig.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
- reduce total dist size (<1 MB)
- setup a link redirection provider (to keep the existence of your installation secret)
- maybe make mails collapsible
- provide error message if config.php is missing or in a public folder.
Credit
This could not be possible without...