gostfix is simple go-based mail-manager for postfix with web interface

Alexey Edelev 9bfee89ced Add service watcher and admin panel 2 jaren geleden
auth 9bfee89ced Add service watcher and admin panel 2 jaren geleden
common 9bfee89ced Add service watcher and admin panel 2 jaren geleden
config 3a8d9b2846 Add setup scenario and fix annoying bugs 2 jaren geleden
db 4afce80e73 Various fixes 2 jaren geleden
sasl 9bfee89ced Add service watcher and admin panel 2 jaren geleden
scanner 9bfee89ced Add service watcher and admin panel 2 jaren geleden
service 9bfee89ced Add service watcher and admin panel 2 jaren geleden
setup 9bfee89ced Add service watcher and admin panel 2 jaren geleden
utils 9bfee89ced Add service watcher and admin panel 2 jaren geleden
web 9bfee89ced Add service watcher and admin panel 2 jaren geleden
.gitignore 9bfee89ced Add service watcher and admin panel 2 jaren geleden
LICENSE 4174b9f7ad Implement basic project structure 4 jaren geleden
README.md 74e9777f1b Refactor mail notifications 4 jaren geleden
build.sh 9bfee89ced Add service watcher and admin panel 2 jaren geleden
go.mod 9bfee89ced Add service watcher and admin panel 2 jaren geleden
go.sum 9bfee89ced Add service watcher and admin panel 2 jaren geleden
main.go 9bfee89ced Add service watcher and admin panel 2 jaren geleden
views 4afce80e73 Various fixes 2 jaren geleden

README.md

gostfix

gostfix is simple go-based mail-manager for postfix with web interface

Supported features:

  • ~Web admin interface~
  • Web mail interface
  • ~gRPC admin interface~
  • ~POP3 inteface~
  • ~IMAP interface~
  • SASL authentication

Prerequesties

gostfix only works on Linux-like operating systems

  • go 1.13 or higher
  • mongo 3.6 or higher
  • protobuf 3.6.1 or higher
  • nginx 1.18.0 or higher with websockets support

Installation and setup

TODO: Will be described later

Nginx

    listen 443 ssl;
    server_name mail.example.com;

    # Add proxy micro-web services
    location / {
        proxy_pass http://localhost:65200;
    }

    # Add web sockets proxy
    location ~ ^/m/[\d]+/notifierSubscribe$ {
        proxy_pass http://localhost:65200;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
    }


    # SSL configuration
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/privkey.pem;