๐Ÿ’ฝ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.

Velocity MTA can run on unlimited remote servers.

Velocity MTA has its own license and can run on unlimited remote servers that all point back to one emaildelivery.com ESP platform installation.

Velocity MTA can run on the same server as the ESP platform.

However, Velocity MTA needs to run on a different ip address than the ESP platform. Find more information on the explanation behind this limitation here.

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.

You'll need your IP address and root password from your server hosting provider for this next step.

Don't copy and paste this exact command, it's just an example using a placeholder, 1.2.3.4 would be the IP of your own server here.

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

ssh root@1.2.3.4 

When you enter your password you won't see anything on the screen.

This is normal. Your root password isn't shown so that someone looking over your shoulder can't see it.

root@1.2.3.4'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:

The below is only an example, you need to use the real download link from your own AppSumo portal.

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 

The mta.defaults.conf file exists so you can 'start over' with a new properly formatted mta.conf file as a troubleshooting step.

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.

The Management IP is NOT the IP of your ESP platform, it's the IP of the server you're on right now where you're doing this MTA configuration.

The Management IP can also be used as a sending IP.

The Management IP is not "reserved", it can be used for sending email with the MTA. However, when run on the same server as the ESP platform, the Management IP must be separate from the IP being used by the ESP platform due to reasons explained elsewhere in our documentation.

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.

Make sure extra IPs are configured on your server, not just provisioned to your server.

When your server hosting provider provisions you more IPs, they don't automatically "just work" on your server. Someone has to enable them in Linux once they've been assigned. ChatGPT can tell you exactly what to do here, or you can try opening a ticket with your hosting provider and see if they will do it for you, if all else fails there's fiverr. Don't ask us, we'll just ask ChatGPT and tell you what that dude said.

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 

Velocity MTA is running!

You'll need to add your new Velocity MTA server to your ESP Platform to start sending email.

Last updated