Mail In A Box + Amazon AWS + FunnelBake = <3!

Are you tired of your emails not landing in Inbox? If you answered that yes, then our Mail In A Box + Amazon AWS + FunnelBake is the ultimate guide to help you land your outreaching emails to your prospect's inbox.

Udit GoenkaUdit Goenka

One of the biggest challenge for any growing business is to setup their email marketing automation.

What's more challenging is to set it up in the right way, to ensure that when you begin your first outreaching campaign, it hits the Inbox.

Mail In A Box on Aamzon's AWS solution is the perfect solution and gives you the power of emailing on Amazon's infrasturcutre that has a tremendous IP reputation.

In this tutorial, I am going to teach you how to get started with your Amazon AWS virtual server, install Mail In A Box and configure your server and settings.

Introduction

Cold email outreaching is the backbone for every organization in the world because it helps you to connect with your potential prospects.

Please do not mistake Cold Email Outreaching with Spamming as people often have that misconception.

Cold Email Outreaching involves sending out emails to your potential prospects who can turn into a lead (potentially in the market for your product) while Spamming is generally blasting out emails to whomsoever in a chance to acquire few customers, or to advertise affiliate links.

However, there are a few things one should consider while working on their Cold Email Outreaching campaign.

  1. The reputation of your IP address should be rock solid.
  2. Your Outreaching tool should have the ability to drip your cold email marketing campaign.

In this guide, we will cover both by using the combination of Mail In a Box, Amazon AWS and FunnelBake.

Getting Started With Amazon AWS

Amazon AWS is world's largest cloud provider.

Not only that, as of today, they are one of the largest organization who owns a huge pool of IP ranges where IPv4 is almost on the verge of extint.

amazon ip range

To get started with Amazon AWS. head over to Amazon AWS and sign up

amazon aws signup

During your sign up process, Amazon AWS will request you to enter your billing details and will verify your account over a call post entering the billing details.

Please ensure that you put all the legitimate account details or else you can risk losing your account.

To get started:

Post verification, click on Launch a Virtual Machine with EC2

virtual-machine-with-EC2

Now:

You will require an Ubuntu server in order to install Mail In A Box.

Please ensure to install Ubuntu 14.04 version because Mail In A Box is not compatible with version 16.04 at the time of writing this article.

launching-ubuntu-14.04-server-with-amazon-aws

Next, choose the instance type. You should choose general purpose (server) and you can easily start with 1 CPU and 1 GB of RAM. Email servers are not resource intense, and you should get by sending 300-500 emails per hour easily with one of these. If your emails are staggered using the "Drip" feature at FunnelBake, you will be able to send large quantities of emails without overstressing your server.

step-two-amazon-aws-ec2-launch-instance-mailinabox

To get started, pick this one. If you are going to send more than 1,000 emails per hour, then consider grabbing 1 GB of RAM and 1 CPU per every 1000-2000 emails sent per hour. Experiment with your sending volume and check your server performance. If your server is overloading, don't panic. It will take longer to send the emails but eventually they will send out. Next batch, you upgrade your server before sending more.

Next, make sure to tick the option to Enable Termination Protection. You do not want to accidentally delete your mail server :)
3-amazon-ec2-configure-instance-details-mib-mailinabox

Notice how we left the network settings default. We will get to the network settings later.

The next step involves selecting the Storage Volume for your EC2 instance. You can start with 20-30 GB of Disk Space. As your mailbox gets older and disk space is getting used up, Mail In A Box alerts you about disk space being low. You can always upgrade the disk space later on.

4-aws-ec2-configure-storage-mib-mailinabox

Please note, amazon has an encryption option and a termination option for the storage volumes. This is a personal choice. I would recommend to not delete the volume on termination just in case this is done by mistake for whatever reason.

Click Next to Review your Instance. The last step will look like this:
5-aws-review-instance0launch-mib-mailinabox

Click the Launch button... which takes you to one more step :)

You will need to add a keypair to login to your AWS instance. If you have not yet setup a KeyPair, you can create a new one by choosing create new keypair. Name it, then download the key pair and you will be set.

6-launch-aws-instance-keypair-ssh-mailinabox-1

After you click Launch you will be taken to this page:

7-last-step-aws-mailinabox-instance-creation

Click on the instance name to view the instance that you just created:
8-running-instance-aws-mailinabox

Notice how this instance does not have a name.. so give it a name :)

I recommend you give this instance the name of your mail server. We named ours MIB for Outreaching FunnelBake.com

Your instance will have a public IP address. However, do not start using it just yet! Amazon gives your instance an IP address from their public IP pools but if you happen to restart your instance, it will pick up a different IP address and mess up your configuration:

9-temporary-ip-address-aws-ec2-mailinabox

You want to get an IP Address that does not change no matter what, since this will be the backbone of your mail server's reputation. When you develop an excellent IP reputation for sending emails, more and more of your emails will land on inboxes. If your server's IP address gets blacklisted (Generally for spamming) then none of your emails will ever reach your prospects.

You will need to setup something called an Elastic IP with amazon. On the left hand side of the AWS panel, under the Network and Security tab, click on Elastic IP:
10-setup-elastic-ip-aws-ec2-mailinabox

Then click on the blue "Allocate new address" button.

You will get a confirmation message with a link to your new elastic IP, click that.
11-new-elastic-ip-aws-ec2-mailinabox

Give your shiny new IP address a name, so that you can easily identify what you'll be using it for. Then Right Click on the IP and a sub menu will appear, click on Associate Address:
12-associate-elastic-ip-instance-ec2-aws-mailinabox

Search for MIB or whatever you named your instance (told you it would be helpful)
13-associate-ec2-elastic-ip-instance-mib

Then associate it. Ignore that warning from amazon about your public IP being released. You want that to happen because you want this elastic IP to be associated with your instance as it will not change. Pro tip: 1 Elastic IP is free with your instance (as of right now).

Click on your instance ID and then click on Associate. You now have an EC2 instance with a static IP that will not change upon reboots. Congrats :)

You can verify this by going to the Instances tab to see your instance, the Elastic IP will be shown and it will be clickable:
14-check-elastic-ip-ec2-aws-mib

You can now SSH into your EC2 instance and begin the process of installing Mail In A Box using the Elastic IP you just associated with it.

Getting Started With Mail In A box

Mail-In-A-Box (MIB from here on out) has a very straight forward setup process. This is what you will need in order to make the installation process smooth:

  • A server with Ubuntu (already did that above)
  • A Domain Name that you will use to setup your server. If you do not have a domain name, you can get one from FlameDomain.
  • A way to change the DNS settings for your Domain Name.

When you are sure you got that done, go ahead and SSH into your EC2 Instance using your favorite ssh client. I use MobaXterm on windows, and Terminal on Mac.

Remember the username is:
ubuntu

And you will be logging in using the keypair you setup while launching the instance.

When you've ssh into your instance, enter the following to have full administrator privileges:

sudo su

You will enter "super user" mode. Your ssh terminal will look like this:
1-ssh-into-ec2-instance-su-user-mib

MIB has a really cool step by step setup wizard that will guide you through. I will lay down here step by step how this goes. You begin the setup by running this command:

curl -s https://mailinabox.email/setup.sh | sudo bash

The setup script starts and it looks like this:
2-starting-mib-installation-ec2

The wizard will start and warn you that you need to use this instance only for MailInABox. This is because MIB installs and removes things so that it is optimized for the purpose of being your mail server. Hit OK to get started.

On the next screen, MIB will ask what your email address will be. This will be your administrator email address to login to the MIB dashboard later on. Remember that domain name we talked about? You will use that to create this email address. This email address may not already exist, that's ok :)

For our testing purposes we will use:
oscartest@trendvpn.com
3-select-email-mib-installation-ec2

Next, you will be asked to come up with a hostname. I recommend you use mail.yourdomain.tld

So for my example, my hostname would be:
mail.trendvpn.com
4-enter-hostname-mib-installation-ec2

Next you will be asked to enter the geo location for your mail server. This is done to keep the correct timezone for your emails.

5-select-location-mib-installation-ec2

Choose your timezone
6-select-timezone-mib-installation-ec2

After this, the MIB installer will get to work, you will see this on your ssh terminal:
7-wizard-working-mib-installation-ec2

This process takes some time as MIB installs all the services needed to run your mail server, so relax and wait for the installation to finish up.

When the installation is complete, you will see the following screen:
8-setup-password-mib-installation-ec2

This screen is important because it's where you will setup your password to enter the MIB dashboard (control panel). This password needs to be secure, and something you can remember :)

Then, MIB will give you the login URL for your Mail In A Box dashboard:
9-installation-done-dashboard-login-mib-installation-ec2

Your dashboard login will be something like this:

https://54.241.59.253/admin

Since you're using Amazon EC2, you need to make sure that you are allowing inbound traffic to your instance from the web. Port 80 - Also, MIB uses other ports to communicate to other mail servers around the world. For the purpose of this tutorial, we will add a security group that allows all traffic. You can refine your security groups as per your needs.

To setup a new security group go back to Amazon AWS Console, on the left hand side menu under Network and Security, select Security Groups.

Click Create New Security Group and add the follwing rule:
10-setup-aws-ec2-security-group-mib-installation-ec2

Please note: This is only for demo purposes. You should lock down the security of your instance as much as possible and only open the ports you need to. We will write a detailed post on security and link to it here.

MIB uses custom firewall rules already in ubuntu firewall, so your server is protected anyways.

Now you will need to go to your instance and apply this security group to it. Right click on the instance, select Networking -> Change Security Groups
11-change-aws-ec2-security-group-mib-installation-ec2

Now you should be able to access the dashboard. You will get a warning from your browser about the certificate validation. This is because your encryption is not verified by a hostname yet. You can click to proceed and login to the dasboard:
12-warning-ssl-mib-installation-ec2

Now you should be able to login using the email address and password you created earlier:
13-login-admin-panel-mib-installation-ec2

When you enter MIB for the first time, you will notice it takes you straight into a system check page. This will tell you everything you need to know about how your Mail In A Box installation is doing, and what, if anything, you need to work on.

Once you have successfully logged in, you can move on to the next step in our guide.

Advanced Configuration and DNS Settings

In order for Mail In A Box to work properly, you need to configure certain DNS settings at your registrar for the domain you are using.

So if you have used FlameDomain to register your domain like I did, you will login to the dashboard and click on Manage DNS Settings. If you use any other registrar, they more than likely have guides on how to work with their DNS systems.

Mail In A Box has a convenient section for DNS settings. You can find out all the DNS settings you need with one click:

Click on System -> External DNS

1-setup-dns-settings-mail-in-a-box-amazon-ec2-aws

Go to your DNS management and enter the DNS records exactly how Mail In A Box says, except for the first record:

2-setup-dns-settings-skipped-mail-in-a-box-amazon-ec2-aws-1

That first "A" record is only there if you are going to host your website at this server. You are not. You are only going to use this instance for email purposes.

Setup the rest of the records. This is what it looks like at FlameDomain:

3-setup-dns-records-mail-in-a-box-amazon-ec2-aws

After you have setup these DNS records, you should be able to use your hostname to login to the dashboard like this:

https://mail.trendvpn.com/admin

You will get that SSL warning again, since your hostname is now alive but no SSL is installed on it. We will take care of that shortly, go ahead and add the exception and login:
4-setup-ssl-mail-in-a-box-amazon-ec2-aws

Go to System-> TLS SSL
5-setup-ssl-letsencrypt-mail-in-a-box-amazon-ec2-aws

Click on Provision to use the Let's ENcrypt Auto SSL Feature. This is a super convenient feature that gives you a Free SSL and Also Renews it Automaically for you before it expires. Care-free maintenance is the way to go!

After clicking provision, read the terms of Lets Encrypt and then Accept them to continue.

6-provision-ssl-letsencrypt-mail-in-a-box-amazon-ec2-aws

You will get a waiting period of 60 seconds, just sit tight and wait :)
7-provision-free-ssl-letsencrypt-mail-in-a-box-amazon-ec2-aws

Once this is done, log out, hard refresh the page and you will see a fully enforced SSL hostname in the URL:

8-verified-green-lock-free-ssl-letsencrypt-mail-in-a-box-amazon-ec2-aws

You can now login to your MIB securely with a verified SSL. Lets move on to the next step :)

Creating Your Unlimited Email Address For Free

If you've followed up until now, you're a rockstar!

And now we're ready to rock :)

You have a full MIB setup with SSL and DNS settings. It's time to create some email addresses!

Step 1- Login to your MIB Dashboard and click on Mail -> Users
1-create-new-email-address-mail-in-a-box-ec2-aws

You will be able to create a new email address from here. Make sure that the email address is as Normal User. This means that this email address cannot login to Mail In A Box dashboard, only to email.

By default your first login address is an admin account. You can make an email address admin at any time from within this page.

Step 2 - Login to webmail using your new email address
The webmail URL is your MIB hostname/mail

In our example, this is the URL:
https://mail.trendvpn.com/mail/

You will see the Roundcube mail login. Roundcube is a web based mail client. This is a fancy way of saying, you can use this webpage to check your email. Like you do at gmail.com
2-login-to-email-address-mail-in-a-box-ec2-aws

Enter the email address and password you want to check.
3-roundcube-inbox-mail-in-a-box-ec2-aws

Send yourself a test email to make sure you're receiving email properly. I have sent an email from my gmail account to my test account:
4-tested-roundcube-inbox-mail-in-a-box-ec2-aws

Success :)

You can go back to MIB dashboard and create as many email addresses as you want.

Setting Up Your Email Account with FunnelBake

Now that you have a working MIB setup, you will need to connect it to FunnelBake to get the most out of it.

1- Login to your FunnelBake Dashboard:
https://app.funnelbake.com/login

2- Go to the team member section of FunnelBake and click on yourself:
https://app.funnelbake.com/team/

At the bottom of the page you will see a tab for SMTP/IMAP configuration, click that.
1-setup-funnelbake-smtp-imap-mailinabox-mib-ec2-aws

3- Now go back to your MIB dashboard and click on Mail -> Instructions

Here you will get the SMTP and IMAP settings for your server to connect to FunnelBake:

2-settings-instructions-funnelbake-smtp-imap-mailinabox-mib-ec2-aws

Go back to FunnelBake and enter the details you see there. FunnelBake has a smart port system that will automatically detect your mail server port. So basically all you need to enter here is the mail server hostname, your full email address and password, then you are set!
3-smtp-settings-added-funnelbake-smtp-imap-mailinabox-mib-ec2-aws

Click on test settings and confirm:

3-smtp-settings-verified-funnelbake-smtp-imap-mailinabox-mib-ec2-aws

You can now use FunnelBake to do outreach using your Mail In A Box server with Amazon EC2 :)

You only have one last step to take:

Ask Amazon to do RDNS for your instance to your hostname. This will ensure higher deliverability rates.

You can click here to fill out the form for rDNS using amazon:
https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request

Fill it out exactly like this:
4-amazon-get-rdns-funnelbake-mailinabox-mib-ec2-aws

Amazon will get back to you once they have approved your rdns request.

Did you enjoy this guide? Did I miss anything? Do you want me to write guides on improving email deliverability? Let me know in the comments below!

Thanks for reading and enjoy FunnelBake :)

Udit Goenka
Author

Udit Goenka

Love Baking Emails.

Comments
  • © 2018, FunnelBake. All rights reserved.