Open AS Communication Gateway - An open-source Anti-Spam Appliance
Perl Other CSS Shell JavaScript C# Other
Switch branches/tags
Nothing to show
Latest commit 3b5f9aa Feb 21, 2017 @schallertd schallertd committed on GitHub Update

Open AS Communication Gateway

Open AS Communication Gateway

Travis CI Docs Launchpad PPA

An open, integrated, easy-to-use, GUI-managed SMTP gateway scanning your emails for spam and viruses.

The Open AS Communication Gateway (or short 'AS') aims to be a all-in-one solution of an SMTP gateway: It accepts incoming email, performs various antispam-related processes like blacklisting, virus- and spam-scanning, and relays the mails to pre-defined SMTP servers. It's built upon an Ubuntu Server system, and can be entirely managed via a user-friendly web-frontend.

While we focus on Ubuntu LTS as the base distribution for our appliance releases, technically it should also work on Debian or any of it's derivatives, as long as all dependencies are met. Please apologize that we cannot provide any support for such setups.

⚠️ This branch is UNSTABLE! Support for Ubuntu 16.04 Xenial LTS in progress! ⚠️

Main features

  • Recipient maps (specified manualy or fetched via LDAP, e.g. from MS AD)
  • White- and black-listing based on e-mail addresses, hostnames, domain-names, network ranges, CIDR ranges, reverse lookups and so on
  • Remote blacklisting (DNSBLs, URI DNSBLs, etc.)
  • Greylisting
  • Spam-scanning and scoring
  • Virus-scanning
  • Attachment scanning
  • Dynamic "Score Matrix", which lets you define what to do with mails from a certain origin, to what extent, at what score, etc.
  • End-User-maintainable email quarantining
  • A very pretty, user-friendly web GUI


Starting with the upcoming 2.2.0 release, we will provide pre-built virtual appliance images. This enables an easy and convenient method of deploying Open AS within your existing virtual infrastructure or cloud.

Besides that, you can build and install the package yourself or rely on pre-built packages for Ubuntu which are available via PPA on Launchpad. Be aware of the fact, that this methods may require advanced efforts and only limited support can be provided by us.

Please make sure to read the docs at


Testing environment

A local test environment can be set-up easily by using Vagrant.

Make sure you have the latest version of Vagrant and Virtualbox installed, clone the repository and type vagrant up within the projects main directory. This will automatically deploy a virtual machine running Ubuntu LTS, build our packages and installs them afterwards.

After the provisioning has been completed, the WebGUI should be reachable at https://localhost:8443 on your local machine.

You can ssh into your test box with the vagrant ssh command.

GUI development

The Open AS WebGUI is based on the Perl Catalyst framework, which requires a few perl modules to be installed. The easiest way for developers interested in contributing to the GUI is to use the test environment explained above, which has all dependencies already installed. Within this virtual machine you can manually start the GUI in development mode, which will make all changes to the code visible immediately and provides you with proper debug outputs.

Connect to the previously set-up vagrant box via vagrant ssh and perform the following steps:

# stop the gui within the vm 
sudo service openas-backend stop && sudo service nginx stop

# set-up the development environment
sudo /bin/bash /vagrant/lib/bin/

# start the gui in development mode
sudo /usr/bin/perl /vagrant/gui/script/

By default the repository on your local machine is synced with the Vagrant VM and is available under /vagrant within the virtual machine.


Feel free to pick any open issue and provide a proper fix.

We greatly appreciate pull requests via Github.