sh8email is an anonymous, silent and lockable email service.
This is a django-implementation of sh8email.
- Web application:
python manage.py runserver - Mail receiver:
python manage.py runrecv - Mail delete batch:
python manage.py runbatch
- Web application: Press
Ctrl+C - Mail receiver:
python manage.py runrecv --stop - Mail delete batch:
python manage.py runbatch --stop
Enter python virtual environment and type invoke deploy.
- Unit tests:
invoke test.unit - Functional tests:
invoke test.func
For running tests in development environment, port 25 should be forwarded to 2525. It can be performed using rinetd in Linux system.
# /etc/rinetd.conf
#
# forwarding rules come here
#
# you may specify allow and deny rules after a specific forwarding rule
# to apply to only that forwarding rule
#
# bindadress bindport connectaddress connectport
0.0.0.0 25 127.0.0.1 2525
In Ubuntu,
$ sudo apt install postgresqlIn OSX (brew required),
$ brew install postgresqlIf you want to start up postgresql server automatically after your macOS boots,
$ brew services start postgresql$ sudo su postgres
$ psql$ psql postgrespostgres=# CREATE USER sh8email WITH PASSWORD 'password';
CREATE ROLEpostgres=# CREATE DATABASE sh8email;
CREATE DATABASEpostgres=# GRANT ALL PRIVILEGES ON DATABASE sh8email to sh8email;
GRANTpostgres=# ALTER USER sh8email CREATEDB;
ALTER ROLEIn Ubuntu, edit /etc/postgresql/9.5/main/pg_hba.conf.
In OS X or macOS, edit /usr/local/var/postgres/pg_hba.conf.
From
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
to
# IPv4 local connections:
hostnossl all all 127.0.0.1/32 md5
# IPv6 local connections:
hostnossl all all ::1/128 md5
- Retrieve the mail list of an user.
- GET rest/mail/{nickname}/list/
- Retrieve a mail content.
- GET rest/mail/{nickname}/{mail_pk}/
- POST rest/mail/{nickname}/{mail_pk}/ (for secret_email)
- It needs "secret_code" parameter
See Edit pg_hba.conf to disable SSL connection in localhost connection.
Please mail to eightsh8@gmail.com.