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 postgresql
In OSX (brew required),
$ brew install postgresql
If you want to start up postgresql server automatically after your macOS boots,
$ brew services start postgresql
$ sudo su postgres
$ psql
$ psql postgres
postgres=# CREATE USER sh8email WITH PASSWORD 'password';
CREATE ROLE
postgres=# CREATE DATABASE sh8email;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE sh8email to sh8email;
GRANT
postgres=# ALTER USER sh8email CREATEDB;
ALTER ROLE
In 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.