Pentest Tools

Published on May 2nd, 2016 📆 | 4903 Views ⚑


Magma Email ServerMagma Email Server

The magma server daemon, classic edition, which supports server side encryption, SMTP, POP, IMAP and HTTP (with a JSON-RPC interface for the included webmail client).


the DIME Magma-based server function sort of like Exchange, combining the roles of Mail Transfer Agent and Mail Delivery Agent into a monolithic server. If a user’s e-mail client (the MUA, or Mail User Agent) doesn’t support DIME, the spec allows the DIME server to transparently generate keys for the user and encrypt the user’s messages on their behalf.

Magma Email Server

Magma was originally designed and developed by Ladar Levison for


This Magma Classic release is the based on the development branch for Lavabit’s service. Because we started with the development branch, some of the features and functions are unstable.


Installation Instructions

These instructions are targeted at systems running CentOS 6.



List of packages to be installed: mysql-server, memcached, gettext-devel



To install MySQL and configure the magma username run the commands below. The supplied password should be replaced with value unique to your environment. You may also want to limit the permissions of the magma database user to the database it will need to access. The global permission is only needed to setup the table schema.

yum install mysql-server
service mysqld start
chkconfig mysqld on

mysql -u root < echo "CREATE USER 'magma'@'localhost' IDENTIFIED BY 'volcano';"
mysql -u root < echo "GRANT ALL PRIVILEGES ON *.* TO 'magma'@'localhost' WITH GRANT;"



To install Memcached run the commands below.

yum install memcached
service memcached start
chkconfig memcached on



yum install gettext-devel



The script will update, or download, the ClamAV virus definitions.




After running through the prerequisites above, load the project into Eclipse and build, magma.check and magma.



Run the INSTALL script.

./INSTALL -d ~/ -u magma -p volcano -s Lavabit

[adsense size='1']


To link up the development scripts run


Development environments need to create the database manually.

# Usage: schema.init <mysql_user> <mysql_password> <mysql_schema>
schema.init magma volcano Lavabit

To launch magma using the sandbox configuration.


Magma Email Server : Webmail

Inside the resources/pages/ directory is a copy of the webmail code. Locate script.js file and change the magma.portalUrl = true variable to false, and it will use a set of hard coded test requests/responses. Its useful for checking/developing the webmail code without involving a server. Currently the files are configured to access the JSON-RPC interface using the hostname “localhost” and the HTTP port 10000. This should work using the default magma.config file.


Source && Download

Leave a Reply

Your email address will not be published.