{"id":164,"date":"2026-05-27T15:06:06","date_gmt":"2026-05-27T15:06:06","guid":{"rendered":"https:\/\/blog.offshorekaka.in\/?p=164"},"modified":"2026-08-27T05:43:56","modified_gmt":"2026-08-27T05:43:56","slug":"setup-business-email-on-offshore-hosting","status":"publish","type":"post","link":"https:\/\/offshorekaka.in\/blog\/setup-business-email-on-offshore-hosting\/","title":{"rendered":"How to Set Up Business Email on Offshore Hosting"},"content":{"rendered":"<div class=\"ok-pro-panel\">\n<p><span class=\"ok-pro-kicker\">Tutorial<\/span><\/p>\n<h2>The mailbox is the easy part<\/h2>\n<p>Creating <code>you@yourdomain.com<\/code> takes about thirty seconds in any hosting panel. Getting that mail to land in someone&#8217;s inbox rather than their spam folder is the actual job, and it comes down to three DNS records.<\/p>\n<p>Without SPF, DKIM and DMARC, Gmail and Outlook treat your mail as unverified, and unverified mail from a new IP goes to spam. This guide covers setting the mailbox up on <a href=\"https:\/\/offshorekaka.in\/offshore-web-hosting\/\">offshore hosting<\/a> and then getting those records right.<\/p>\n<div class=\"ok-pro-grid\">\n<div class=\"ok-pro-card\"><strong>Time<\/strong><span>20 minutes plus DNS caching.<\/span><\/div>\n<div class=\"ok-pro-card\"><strong>The hard part<\/strong><span>Deliverability, not setup.<\/span><\/div>\n<div class=\"ok-pro-card\"><strong>Needed<\/strong><span>MX, SPF, DKIM. DMARC is worth adding too.<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"ok-toc\"><strong>On this page<\/strong><a href=\"#where\">Where should mail live<\/a><a href=\"#create\">Create the mailbox<\/a><a href=\"#records\">The three records<\/a><a href=\"#verify\">Verifying them<\/a><a href=\"#client\">Connecting your mail app<\/a><a href=\"#spam\">If mail goes to spam<\/a><a href=\"#faq\">FAQ<\/a><\/div>\n<h2 id=\"where\">Where should mail live?<\/h2>\n<p>Worth deciding before you start, because moving later means changing MX records and migrating mailboxes.<\/p>\n<p><strong>On your hosting<\/strong> is free, included, and fine for a few addresses that mostly receive. The catch is that your server&#8217;s IP has no sending reputation, and a shared IP inherits whatever reputation the other sites on it have earned.<\/p>\n<p><strong>With a mail provider<\/strong> like Zoho, Google Workspace or Microsoft 365 costs a little but gives you IPs that are already trusted, better spam filtering, and mail that keeps working when the web server is being rebuilt.<\/p>\n<p>There is also a privacy angle. If you use Cloudflare to hide your origin IP, a mail record pointing straight at the same server gives it away, since MX records cannot be proxied. Mail elsewhere closes that gap. Our <a href=\"https:\/\/offshorekaka.in\/blog\/cloudflare-dns-setup-for-offshore-hosting\/\">Cloudflare guide<\/a> covers the proxying side.<\/p>\n<h2 id=\"create\">Create the mailbox<\/h2>\n<p>In cPanel, go to Email Accounts, click Create, choose the address and set a password. In aaPanel the Mail Server plugin does the same thing.<\/p>\n<p>Use a real password, not a memorable one. A compromised mailbox on your own domain gets used to send spam within hours, and then your domain is the one on the blocklist.<\/p>\n<h2 id=\"records\">The three records<\/h2>\n<p><strong>MX<\/strong> says which server receives mail for your domain:<\/p>\n<pre><code>Type: MX   Host: @   Value: mail.yourdomain.com   Priority: 10<\/code><\/pre>\n<p>The priority number is which server to try first, lowest wins. Multiple MX records are for failover, not for load balancing.<\/p>\n<p><strong>SPF<\/strong> lists who is allowed to send as you:<\/p>\n<pre><code>Type: TXT   Host: @   Value: v=spf1 a mx ~all<\/code><\/pre>\n<p>Two rules that catch people out. You may only have <strong>one<\/strong> SPF record per domain, so if you use both your host and a newsletter service, combine them into one line rather than adding a second record. And end with <code>~all<\/code> or <code>-all<\/code>, never <code>+all<\/code>, which tells the world anyone may send as you and defeats the whole point.<\/p>\n<p><strong>DKIM<\/strong> signs each message cryptographically. Your panel generates the key, usually in the Email Deliverability section in cPanel. Copy the whole value, which is long, and paste it as a TXT record on the selector host the panel gives you, typically <code>default._domainkey<\/code>.<\/p>\n<p>Then add <strong>DMARC<\/strong>, which tells receivers what to do when SPF or DKIM fail, and asks them to report back:<\/p>\n<pre><code>Type: TXT   Host: _dmarc   Value: v=DMARC1; p=none; rua=mailto:you@yourdomain.com<\/code><\/pre>\n<p>Start with <code>p=none<\/code>, which changes nothing and just collects reports. Move to <code>p=quarantine<\/code> once the reports show your legitimate mail is passing. Going straight to <code>p=reject<\/code> is how people accidentally block their own invoices.<\/p>\n<h2 id=\"verify\">Verifying them<\/h2>\n<pre><code>dig +short MX yourdomain.com\ndig +short TXT yourdomain.com\ndig +short TXT default._domainkey.yourdomain.com<\/code><\/pre>\n<figure class=\"wp-block-image size-large ok-inline-visual\"><img decoding=\"async\" src=\"https:\/\/offshorekaka.in\/blog\/wp-content\/uploads\/2026\/08\/ok-business-email-dns.webp\" alt=\"Terminal showing MX records with priorities and the SPF TXT record for a domain\" loading=\"lazy\" width=\"2296\" height=\"536\"><figcaption>MX with priorities, and one SPF line. Two SPF lines would be a problem.<\/figcaption><\/figure>\n<p>Read the SPF output carefully. If two lines starting with <code>v=spf1<\/code> come back, that is a broken configuration and receivers will treat SPF as failing entirely.<\/p>\n<p>The most reliable end to end test is to send a message to a Gmail address you own, open it, and use Show Original. That page shows PASS or FAIL for SPF, DKIM and DMARC on the actual message, which is worth more than any checker.<\/p>\n<h2 id=\"client\">Connecting your mail app<\/h2>\n<p>Use IMAP, not POP3. IMAP keeps mail on the server so your phone and laptop stay in sync; POP3 downloads and usually deletes, which is why mail read on a laptop vanishes from a phone.<\/p>\n<ul>\n<li><strong>IMAP:<\/strong> <code>mail.yourdomain.com<\/code>, port <strong>993<\/strong>, SSL\/TLS.<\/li>\n<li><strong>SMTP:<\/strong> <code>mail.yourdomain.com<\/code>, port <strong>587<\/strong>, STARTTLS.<\/li>\n<li><strong>Username:<\/strong> the full address, not just the part before the at sign.<\/li>\n<\/ul>\n<p>If port 587 is blocked, try 465 with SSL. Some networks and some VPS providers block outbound 25 entirely to limit spam, which is normal and is not a problem as long as you use 587 or 465.<\/p>\n<h2 id=\"spam\">If mail goes to spam<\/h2>\n<p>Work through these in order. It is almost always one of the first three.<\/p>\n<ol>\n<li><strong>SPF, DKIM or DMARC failing.<\/strong> Check Show Original in Gmail. Fix whichever says fail.<\/li>\n<li><strong>No reverse DNS<\/strong> on the sending IP. Set the PTR record in your provider panel to match your mail hostname. Many receivers reject mail from IPs with no reverse DNS outright.<\/li>\n<li><strong>The IP is on a blocklist.<\/strong> Check it at mxtoolbox. A fresh IP can inherit a bad history from a previous tenant.<\/li>\n<li><strong>No sending history.<\/strong> A brand new domain sending to a hundred people at once looks exactly like spam. Build up gradually.<\/li>\n<li><strong>Content triggers.<\/strong> All caps subjects, a single large image with no text, or lots of links.<\/li>\n<\/ol>\n<p>If you are sending anything in volume, newsletters or transactional mail, use a dedicated sending service. Their IPs have reputation that yours never will.<\/p>\n<p>One more thing worth checking if mail broke right after a server move: MX records cache exactly like every other DNS record, so mail can keep going to the old server for hours after the website has already switched. Our <a href=\"https:\/\/offshorekaka.in\/blog\/dns-propagation-after-hosting-migration\/\">DNS propagation guide<\/a> covers why, and how to shorten it.<\/p>\n<h2 id=\"test\">How to test<\/h2>\n<ol>\n<li>Send from the new address to a Gmail account and read Show Original.<\/li>\n<li>Confirm SPF, DKIM and DMARC all say pass.<\/li>\n<li>Reply from Gmail and confirm it arrives.<\/li>\n<li>Check the same mailbox on a phone and a laptop to confirm IMAP sync.<\/li>\n<li>Run the domain through mxtoolbox for blocklist and record checks.<\/li>\n<li>Confirm only one SPF record exists.<\/li>\n<\/ol>\n<h2 id=\"trouble\">When something breaks<\/h2>\n<table>\n<thead>\n<tr>\n<th>What you see<\/th>\n<th>Why<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Mail sends but never arrives<\/td>\n<td>Blocked at the receiver, often silently<\/td>\n<td>Check Show Original, then check blocklists<\/td>\n<\/tr>\n<tr>\n<td>Incoming mail bounces<\/td>\n<td>MX record missing or pointing at the old host<\/td>\n<td>Set the MX record and wait for the TTL<\/td>\n<\/tr>\n<tr>\n<td>Everything lands in spam<\/td>\n<td>SPF or DKIM failing, or no reverse DNS<\/td>\n<td>Fix the records, set the PTR record<\/td>\n<\/tr>\n<tr>\n<td>SPF fails despite a correct looking record<\/td>\n<td>Two SPF records on the domain<\/td>\n<td>Merge them into one line<\/td>\n<\/tr>\n<tr>\n<td>Cannot send from the mail app<\/td>\n<td>Port 25 blocked by the network<\/td>\n<td>Use 587 with STARTTLS, or 465 with SSL<\/td>\n<\/tr>\n<tr>\n<td>Mail read on the phone still unread on the laptop<\/td>\n<td>Account set up as POP3<\/td>\n<td>Remove it and add it again as IMAP<\/td>\n<\/tr>\n<tr>\n<td>Mail stopped after moving to Cloudflare<\/td>\n<td>Orange cloud on the mail record<\/td>\n<td>Set the mail record to grey. Cloudflare cannot proxy SMTP<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"checklist\">Checklist<\/h2>\n<ul>\n<li>Decided where mail lives before setting anything up.<\/li>\n<li>Mailbox created with a strong password.<\/li>\n<li>MX record set with a sensible priority.<\/li>\n<li>Exactly one SPF record, ending in <code>~all<\/code> or <code>-all<\/code>.<\/li>\n<li>DKIM key generated and published on the right selector.<\/li>\n<li>DMARC added, starting at <code>p=none<\/code>.<\/li>\n<li>Reverse DNS set on the sending IP.<\/li>\n<li>All three verified by Show Original on a real message.<\/li>\n<li>Mail app using IMAP on 993 and SMTP on 587.<\/li>\n<\/ul>\n<div class=\"ok-cta-box\">\n<p><strong>Need hosting with email included?<\/strong><\/p>\n<p>OffshoreKaka hosting plans come with mailboxes, webmail and DKIM signing built into the panel, on privacy friendly servers in the Netherlands and Germany.<\/p>\n<p><a class=\"btn ok-cta-link\" href=\"https:\/\/offshorekaka.in\/offshore-web-hosting\/\">See the hosting plans<\/a><\/p>\n<\/div>\n<h2 id=\"faq\">FAQ<\/h2>\n<h3>Hosting email or a paid provider?<\/h3>\n<p>Hosting email is free and fine for a few addresses that mostly receive. A paid provider is worth it once mail matters to the business, because you get trusted sending IPs, better filtering, and mail that survives the web server being down. Most people start with hosting email and move once something important lands in spam.<\/p>\n<h3>Do I really need DKIM if I have SPF?<\/h3>\n<p>Yes. SPF checks the sending IP, which breaks the moment a message is forwarded. DKIM signs the message itself and survives forwarding. Gmail and Outlook both want to see them together, and DMARC requires at least one of them to pass and align.<\/p>\n<h3>Does business email help my SEO?<\/h3>\n<p>No, not directly. It has nothing to do with how pages rank. What it affects is whether people trust you enough to contact you, which is a different and arguably more useful thing.<\/p>\n<h3>Why does mail keep going to spam even after the records are right?<\/h3>\n<p>Usually reputation rather than configuration. A new IP and a new domain have no history, and filters are cautious by default. Send steadily to people who actually want your mail, avoid sudden large batches, and it improves over a few weeks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The mailbox takes thirty seconds. Getting mail into an inbox instead of a spam folder takes three DNS records and some care.<\/p>\n","protected":false},"author":1,"featured_media":914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":5,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":1012,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/posts\/164\/revisions\/1012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/media\/914"}],"wp:attachment":[{"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/offshorekaka.in\/blog\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}