How to Set Up ScalaHosting Managed VPS Email Server

ScalaHosting is my recommended VPS (Virtual Private Server) provider for running email servers and websites. This article is going to explain how to set up Scalahosting managed VPS so you can have your own dedicated email server.

You can also run your own website on the same VPS. If you have existing websites running on other hosts, you can request Scalahosting support to transfer your websites to your VPS, entirely free of charge. You can transfer as many websites as you want.

Why Use Scalahosting Managed VPS for Email & Web Hosting

Scalahosting managed VPS (Virtual Private Server) is probably the easiest, fastest, and the best method to run your own email server. Why it’s the best?

  • Create unlimited email addresses, unlimited email domains, and send unlimited emails for $29.95 per month.
  • Dedicated IP address with high reputation.
  • You can use its simple and intuitive control panel to create email addresses. No need to learn how to use the command line to manage a Linux server.
  • WebMail client with calendar: Access your email
  • You can create quota for each email address.
  • Advanced spam protection
  • Send and receive emails via POP3/IMAP/SMTP
  • Free domain registration/transfer for the first year.
  • Automatic daily backups
  • Ultra-Fast NVMe SSD to achieve the best server performance.
  • Free SSL/TLS certificate for your website.
  • They take user requests seriously. A requested feature can be implemented in 1~2 months.

Moreover, you will enjoy the following benefits.

  • It’s not just a control panel for mail server. It’s also an all-in-one web hosting platform that allows you to easily set up and manage your website.
  • It gives you a premium Softaculous license free for life. Softaculous is a platform to automatically install hundreds of web applications like WordPress, Drupal, Magento, PrestaShop, so you don’t have to learn the Linux command line, which takes lots of time and energy.
  • If you have an existing website, you can migrate it to ScalaHosting SPanel Managed VPS, so your mail server and web server run on one host. The ScalaHosting team can help you migrate your website for free.

How to Set Up ScalaHosting Managed VPS For Email Server

Go to ScalaHosting website, scroll down, select the $29.95/month plan and click the Configure Your Server button.

scalahosting-managed-vps-email-server-pricing

It will take you to the order page.

  • Billing cycle: If you choose to pay 36 months upfront, then your cost is $29.95/month.
  • Management type: Please choose the default managed option. If you choose the self-managed option, you won’t have the free SPanel control panel, and you won’t get premium softaculous for free.
  • Control Panel: Select the default SPanel option. It’s an alternative to CPanel and is included free of charge for your Scalahosting managed VPS.
  • Customize Your Server: You can choose a data center here. Leave other options the default.

scalahosting managed vps customize your server

Then click the continue button. In the next step, you can choose to register a domain name if you don’t have one.

scalahosting choose your domain name

In the next step, enter your email address and a password to create an account at ScalaHosting.

scalahosting create an account

After that, enter some additional information and choose your payment method. Then click the Proceed to payment button and complete the payment. Once that’s done, you will receive an email that contains the details of your VPS.

scalahosting spanel

This email contains a link to set an admin user on SPanel, so click the link to set one, then you will be able to log into the SPanel admin interface. Each Scalahosting account has its own unique URL for accessing the SPanel admin interface.

scalahosting spanel login

Upon the first login, you will be greeted by a welcome message that allows you to choose to tour the admin area or create a new account. Select create a new account.

scalahosting admin interface tour

Why do you need to create a new account since you have already created an admin user? There’s a difference.

  • Admin user: This type of user can manage the VPS from the SPanel.
  • Account: This type of account is for managing a particular website or project.

So if you want to set up a website or create email addresses for your domain name, you use an account to do that. Enter your domain name, then set a username and password.

scalahosting create a new account

In the next step, you can define the disk space limit and inodes limit for this new account. I simply choose the default unlimited setting.

scalahosting disk space limit inodes limit

You can also define limits for the number of additional domains, email accounts, MySQL databases, and max hourly emails. Again, I choose the default values.

scalahosting create user account limits

Once the account is created, log out of the admin user and log in with the new account.

scalahosting login with new account

Then you will be able to create email addresses for your domain name. Click the Email Accounts tab to create email addresses.

scalahosting spanel email accounts

By default, an email address has no limit on disk space usage. You can set a disk usage quota if you want to.

scalahosting spanel create email address

Once the email address is created, you can click the Access Webmail button to log into the webmail client.

spanel access webmail

Webmail

spanel webmail

Login From a Desktop Mail Client

Fire up your desktop email client such as Mozilla Thunderbird and add a mail account.

  • In the incoming server section, select IMAP protocol, choose port 143 and STARTTLS. Choose normal password as the authentication method.
  • In the outgoing section, select SMTP protocol,  choose port 587 and STARTTLS. Choose normal password as the authentication method.

In the server address field, you need to use the hostname that’s assigned by Scalahosting. For example, mine is cloud-417368.managed-vps.net.

scalahosting vps email server mail client config

Hint: You can also use port 993 with SSL/TLS encryption for IMAP, and use port 465 with SSL/TLS encryption for SMTP. You should not use port 25 as the SMTP port in mail clients to submit outgoing emails.

Creating DNS Records For Your Mail Server

Before you can send and receive emails using the new mail server, you need to create several DNS records, which gives your email a higher chance of landing in the recipient’s inbox instead of the spam folder.

  • MX record
  • A record
  • SPF record
  • DKIM record
  • DMARC record

Note: If you register your domain name at Scalahosting, or transfer your domain name to Scalahosting, then SPanel will automatically create DNS records for your mail server. They can be found at SPanel -> Domains -> DNS editor, so you don’t need to create the DNS records again.

spanel dns editor

If you registered your domain name at another domain registrar, then you will need to use the DNS editor at your domain registrar’s website, and follow the instructions in this section to create DNS records.

MX Record (Mail Exchanger Record)

The MX record specifies which host or hosts handle emails for a particular domain name. For example, the host that handles emails for linuxbabe.com is mail.linuxbabe.com. If someone with a Gmail account sends an email to [email protected], then Gmail server will query the MX record of linuxbabe.com. When Gmail finds out that mail.linuxbabe.com is responsible for accepting email, it then queries the A record of mail.linuxbabe.com to get the IP address, thus the email can be delivered.

You need to go to your DNS hosting service (usually your domain registrar) to create DNS records. In your DNS editor, create an MX record for your domain name. Enter @ in the Name field to represent the main domain name, then enter mail.your-domain.com in the Value field.

iredmail email server create MX record

Your DNS editor may require you to enter a preference value (aka priority value). It can be any number between 0 and 65,356. A small number has higher priority than a big number. It’s recommended that you set the value to 0, so this mail server will have the highest priority for receiving emails.

A Record

A record stands for address record. It maps a hostname like mail.your-domain.com to an IP address. After creating an MX record, you also need to create an A record for mail.your-domain.com , so it can be resolved to an IP address.

Hint: If you use Cloudflare DNS service, you should not enable the proxy feature when creating A record for mail.your-domain.com. Cloudflare does not support SMTP proxy.

SPF Record

SPF (Sender Policy Framework) record specifies which hosts or IP addresses are allowed to send emails on behalf of a domain. You should allow only your own email server or your ISP’s server to send emails for your domain. In your DNS editor, create a new TXT record like below.

modoboa spf record

Where:

  • TXT indicates this is a TXT record, since SPF record is a type of TXT record.
  • Enter @ in the name field to represent the main domain name.
  • v=spf1 indicates this is a SPF record and the version is SPF1.
  • mx means all hosts listed in the MX records are allowed to send emails for your domain and all other hosts are disallowed.
  • ~all indicates that emails from your domain should only come from hosts specified in the SPF record. Emails that are from other hosts will be flagged as forged.

DKIM Record

DKIM (DomainKeys Identified Mail) uses a private key to digitally sign emails sent from your domain. Receiving SMTP servers verify the signature by using the public key, which is published in the DNS DKIM record.

The Scalahosting SPanel automatically configured DKIM for your email server. The only thing left to do is to create a DKIM record in DNS editor and it’s very easy to do. First, go to  SPanel -> Domains -> DNS editor, you will find there’s already a DKIM record. Since your domain name is not registered at Scalahosting, you need to copy this DKIM record and paste it into your domain registrar’s DNS editor.

scalahosting spanel DKIM record

DKIM record is a type of TXT record, so in your DNS editor, create a TXT record, and enter default._domainkey in the name field. Copy the DKIM record from SPanel and paste it into your domain registrar’s DNS editor. Note that some domain registers like Cloudflare might require you to delete the parentheses, double quotes and whitespace in the DKIM record.

scalahosting mail server DKIM records

Note that your DKIM record may need some time to propagate to the Internet. Depending on the domain registrar you use, your DNS record might be propagated instantly, or it might take up to 24 hours to propagate. You can go to https://www.dmarcanalyzer.com/dkim/dkim-check/, enter dkim as the selector and enter your domain name to check DKIM record propagation.

DMARC Record

DMARC stands for Domain-based Message Authentication, Reporting, and Conformance. DMARC can help receiving email servers to identify legitimate emails and prevent your domain name from being used by email spoofing.

To create a DMARC record, go to your DNS editor and add a TXT record. In the name field, enter _dmarc. In the value field, enter the following. (You should create the [email protected] email address.)

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]
create dmarc record txt

The above DMARC record is a safe starting point. If you want to read the full explanation of DMARC, please check the following article.

Checking DNS Record Propagation

To check if your DNS records are propagated to the public Internet, you can use the free service at https://dnsmap.io.

Testing Email Score and Placement

After creating PTR, SPF, DKIM record, go to https://www.mail-tester.com. You will see a unique email address. Send an email from your domain to this address and then check your score. As you can see, I got a perfect score. In the test result, you should check if your PTR record, SPF and DKIM record is valid.

Testing Email Score and Placement

Mail-tester.com can only show you a sender score. There’s another service called GlockApps that allow you to check if your email is landed in the recipient’s inbox or spam folder, or rejected outright. It supports many popular email providers like Gmail, Outlook, Hotmail, YahooMail, iCloud mail, etc.

glockapps-email-placement-test-scalahosting-vps

Warm Up Your IP Address and Domain

If your domain name is very new, then your email might still be landed in the spam folder. This is totally normal because your domain name doesn’t have any reputation. Email deliverability depends heavily on IP reputation and domain reputation. You should use an email warmup service to improve your reputation automatically.

If you have extra time, you can read the following article to learn the ins and outs of email deliverability.

What if Your Email is Rejected by Microsoft Mailbox?

Microsoft seems to be using an internal blacklist that blocks many legitimate IP addresses. If your emails are rejected by Outlook or Hotmail, you need to submit the sender information form. After that, your email will be accepted by Outlook/Hotmail. In reality, Microsoft doesn’t block Scalahosting IP ranges.

Wrapping Up

I hope this tutorial helped you set up ScalaHosting managed VPS email server As always, if you found this post useful, then subscribe to our free newsletter to get more tips and tricks 🙂

Rate this tutorial
[Total: 3 Average: 5]

3 Responses to “How to Set Up ScalaHosting Managed VPS Email Server

  • I’m in the Scalahost VPS buying section so I can follow this tutorial.

    None of the options you have in your images are listed/available at the $14.95 price.

    Which server are you using in this tutorial? The options for the lower-end servers listed are asking for $700 to $1,000 for the 36 month option.

    • Xiao Guoan (Admin)
      1 year ago

      They changed the pricing. Now you need to pay $1078.20 upfront for 36 months. That’s $29.95 per month. They do have 30-day money-back guarantee. If you don’t like it, cancel it within 30 days.

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • I don't have time to answer every question. Making a donation would incentivize me to spend more time answering questions.

The maximum upload file size: 2 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here