💽Installing Velocity MTA

Installation can occur on any Ubuntu Linux server with an AMD64-compatible or ARM64 CPU.

Technically any flavor of Linux is compatible but please just use Ubuntu if you can. We get tons of support tickets, don't make us have to figure out why Alma is doing the weird thing again.

To install and configure the MTA you'll need to familiarize yourself with the following concepts in advance:

Check out some YouTube tutorials if necessary, once you have the ability to connect to a Linux VPS and edit text files, our documentation will give you the exact commands you need to run, so there won't be any missing information that prevents you from completing your MTA setup and configuration.

ChatGPT knows Linux better than any human and is a hugely underrated resource for all Linux questions, technical questions about email delivery, and all of the topics applicable to an MTA.

SSH into your server where the IP addresses to be used with the MTA are assigned:

[email protected]'s password:

Once you've successfully authenticated as the root user you'll find yourself at a prompt that looks something like the below, which will be slightly different for each server provider.

Digital Ocean:

root@ubuntu-s-2vcpu-2gb-amd-sfo3-01:~#  

Racknerd

root@racknerd-b019313:~#

Log into our AppSumo portal where your download links are at https://appsumo.emaildelivery.com/

Click the copy icon for the MTA LICENSE

Paste the download link from your AppSumo portal into the command prompt on your Linux server:

root@ubuntu-s-2vcpu-2gb-amd-sfo3-01:~# curl -L https://api.keygen.sh/v1/accounts/5b5914e5-3f64-439e-af80-b4404f2eb853/artifacts/velocity-install.tgz -H 'Authorization: License 7EB0BD-6-A2C170-36-V3' -o velocity-install.tgz

This will download a file called velocity-install.tgz onto your server, you should recognize this process from when you installed the ESP platform previously.

In Linux a tgz file is like a zip file or a rar, it's an archive file.

To extract the Velocity MTA archive run the following command:

tar xzvf velocity-install.tgz 

You should see output similar to the following:

velocity-install/
velocity-install/docker-compose.yml
velocity-install/VERSION
velocity-install/conf/
velocity-install/conf/mta.defaults.conf
velocity-install/images/
velocity-install/images/edcom-velocity.tgz
velocity-install/install_docker_on_ubuntu.sh
velocity-install/restart.sh
velocity-install/load_images.sh
velocity-install/mail/
velocity-install/README
velocity-install/logs/

Velocity MTA is self-contained within one directory called velocity-install, similar to the ESP platform.

Change directory to velocity-install:

cd velocity-install

Creating the conf/mta.conf file

The configuration file for the MTA is mta.conf. You'll need to create it by making a copy of the mta.defaults.conf file to get started.

cp conf/mta.defaults.conf conf/mta.conf 

Now you're going to need to edit the mta.conf file with nano, a popular Linux text file editor:

nano conf/mta.conf

There are only four settings in mta.conf:

Platform URL

This is the URL to your ESP platform installation, entered exactly as it is in your web browser. https://esp.yourdomain.com if you've enabled SSL or http://esp.yourdomain.com if you haven't reached that step yet in your ESP configuration.

Management IP

This is the IP you used to connect to this server with SSH. The "Primary" or "Main" IP.

MTA Password

This password must match the password you enter in the ESP platform Velocity MTA Server configuration.

License Key

This is your MTA license key from the https://appsumo.emaildelivery.com portal. Make sure this is not the ESP platform license or you will end up opening a ticket and asking us why the MTA isn't working and be sad.

Save your mta.conf file changes, remember to watch a tutorial on using nano in Linux if this is unfamiliar to you.

Now you need to tell Velocity MTA which IP addresses are available to use on the server for sending email by editing the conf/ipaddresses file:

nano conf/ipaddresses

The format for the conf/ipaddresses file is dead simple: one IP address per line

Your Management IP can be your only sending IP in conf/ipaddresses, or you can request multiple IP addresses from your server provider.

Save your conf/ipaddresses file changes, remember to watch a tutorial on using nano in Linux if this is unfamiliar to you.

conf/receiving_domains

Receiving domains will accept feedback loop complaints, bounces, or email replies and store each message as a text file in the velocity-install/mail/new directory. This is known as Maildir format.

Now you need to tell Velocity MTA which domains to accept email replies for by creating a list of receiving domains.

Do this by editing the conf/receiving_domains

nano conf/receiving_domains

The format for the conf/receiving_domains file is dead simple: one domain per line, including subdomain if applicable:

All domains not in the conf/receiving_domains file will have email delivery attempts refused, otherwise your disk will fill up with malware, spam, and exploit attempts.

Save your conf/receiving_domains file changes, remember to watch a tutorial on using nano in Linux if this is unfamiliar to you.

Next, you'll need to install Docker if you're not using the MTA on your ESP platform server.

As part of the ESP platform install process you installed Docker already, so this step wouldn't be necessary in that case.

We've included a script for automating the Docker installation process on Ubuntu:

./install_docker_on_ubuntu.sh

Now that Docker is ready, load the Velocity MTA Docker Images:

./load_images.sh

You'll see output similar to the following:

Finally, start Velocity MTA:

./restart.sh

Verify Velocity MTA started properly:

docker logs edcom-velocity

Check the log file:

cat logs/velocity.log 

Last updated

Was this helpful?