I completed initial setup and my Mail-In-A-Box server is working great for our primary domain (e.g. “HomeDomain”). I’ve reread the setup guide and the maintenance guide concerning adding a second domain but I’m uncomfortable starting the effort until I have a better understanding of the steps required.
My situation: We have an eCommerce domain (“SellingStuff”) where we sell art my wife and I make. It is a WordPress site on a dedicated DigitalOcean droplet. I use GoDaddy as our Registrar and I’ve been using their Linux cpanel email (which was the problem due to unreliability). I have to minimize downtime of our SellingStuff site during the email transition effort.
Steps to accomplish this, as I perceive them right now:
Create new NS host name records on GoDaddy SellingStuff domain, identical to the NS records on my HomeDomain pointing at my MailInABox IPs and host names. Is this correct?
On my MailInABox server, add one or more new “A” record(s), pointing to our SellingStuff WordPress server. This step is where I’m most uncomfortable and need detailed advice, please!
Create new SellingStuff email accounts.
Enjoy new email accounts that work!
Thank you in advance for any help/advice! Mail In A Box is awesome!
No, these steps will not work as they are … let me help you decide how to proceed. Yes, a decision is required.
You will not do step one. There is only one NS set up and that is the one for the domain running MiaB. Additional domains do not require “Glue records” or “host names” as GoDaddy calls them.
You have to decide between either 1) allowing GoDaddy to handle the DNS for the domain, OR 2) allowing the MiaB server to handle the DNS for the domain. There are pros and cons to both choices. Actually, there is even a third choice - 3) allowing another DNS service to handle the DNS for the domain (Cloudflare, ClouDNS, etc. - ETA: or even Digital Ocean)
IMHO since the domain is for SellingStuff, you really want the most reliable of the three options. In this case, personally I would choose to use Cloudflare (or Digital Ocean) for the DNS of the new domain.
Why this option - GoDaddy DNS sucks. MiaB DNS is a single point of failure as presently configured. Cloudflare would offer the best service without doing extra configuration (besides setting CF up itself). ETA: If you are using Digital Ocean for DNS, continue to do so.
So how to proceed:
Wait! I have a question which needs a definitive answer – who IS handling DNS for the SellingStuff domain now? Is it GoDaddy, or is it Digital Ocean, or even someone else? I started to go with the assumption that it was GoDaddy and just realized that may not be the case… So there are potentially 4 options at play depending …
I am really sorry, I was hoping to give you a complete answer tonight, but cannot. Please let me know the answer to my question and I will continue this in the morning.
Ok, from your response your biggest issue at the moment is that your emails on the SellerSite domain are unreliable since it is taking so long for messages to reach you. So, let’s take the quickest action to get that domains emails coming to your MiaB. We will continue to use GoDaddy’s DNS for now, but hopefully will come back and change that in the future. Another question that will be relevant here is if SellerSite is sending outbound email from the site using the GoDaddy email? If it is, you will potentially need to reconfigure that. And also, are you wanting to migrate your current emails that are stored at GoDaddy, or are you planning to start with a fresh inbox?
So the first thing that you want to do is log in to GoDaddy’s DNS controls and locate the MX record for the SellerSite domain. There is a field for TTL, make a note of what it currently is set at, then change it to the lowest value that GoDaddy will accept which should be 300 or if we are lucky 60. Do this now, before you even read all of this so that you can move quicker.
At this point you should have already created new email accounts for the SellingStuff domain on the MiaB. If you are migrating emails you can use IMAPSYNC to handle the migration. https://i005.lamiral.info/X/
After you have lowered the TTL, you need to wait the time of the previous entry before you proceed, So if it was 3600 (seconds) you need to wait an hour. Once this time has passed, you want to visit the MiaB admin area and navigate to the External DNS page. You will then copy the relevant (not all are mandatory - use your best judgment based on the details provided) entries for the SellerSite domain to the DNS at GoDaddy. One thing that you will not copy are the A records for SellerSite.tld and www.SellerSite.tld. Make sure at this time that any MX records for GoDaddy are removed. Also insure that you have a single TXT SPF record on the domain. I had asked for your domain name in PM so that I could advise the correct SPF record to use, but as I don’t know it I cannot advise how to structure your SPF record so that outgoing emails from the SellerSite are received by clients with no issues - assuming that the site does indeed send emails to the clients.
At this point, once you have copied the DNS records from MiaB to GoDaddy, you should start receiving emails. Keep in mind that MiaB utilizes GreyListing, so your new emails will be delayed usually up to 10 minutes at first, but as the recipients are recognized by MiaB that will change.
Ok, so your email should be flowing to MiaB and the performance should be much better now. It is time to clean up the unresolved issues. As I do not know if you are sending emails from the site through a SMTP plugin via GD’s cPanel. If you are, you are going to want to change that so that you are using your MiaB server instead asap!
Now this should be it for the email situation until you move DNS from GoDaddy to a better provider.
Additional to this, to eliminate the ‘single point of failure’ created by using MiaB, you want to add a ‘Secondary DNS provider’ to your MiaB for the HomeDomain. Follow my guide on how to accomplish this at the following link:
If you need assistance with any of this you can find me on the MiaB Slack channel:
GoDaddy is our Registrar and has handled all of our DNS needs for more years than I want to think about. Of course now, our MiaB server is handling DNS for our “HomeDomain” and is a single point of failure, that I will learn to live with. I will eventually put up a static home page for the “HomeDomain,” that’s all that GoDaddy Linux cpanel hosting previously did for our home domain, other than be our email server for both domains.
I’m unsure what letting CF handle our DNS would mean (effort to setup/maintain/cost). I understand cloud technology, I’m a retired IT professional so I see the resiliency benefits of a cloud DNS solution. GoDaddy’s cpanel email sucks. It didn’t for years, but for the last ~20 days, it is taking up to 48 hours to deliver us customer messages! Not good!
I hope I answered your questions. Thank you for replying!
Yeah up until Mail-in-a-Box came around, I could say the same with my personal domains, so I know and understand where you are at.
No, you will not. By the time we are done here, we will remove the single point of failure if you follow what I propose.
Fortunately, CloudFlare is free for DNS only. They only begin charging when you start using their proxy / content delivery system.
As for set up, CF is quite simple. Simpler even than navigating GoDaddy’s horrid site IMHO. When you sign up with them, they will actually probe your current DNS and pick up most (if not all) of your current settings. You’ll then need to manually confirm that they did not miss anything.
Alento:
I’m excited by what you’ve written and am encouraged that using CF will be a way to restore DNS resiliency. I’m onboard with you 100%. I am a bit uncomfortable posting my domain names on the forum for the world to see. Is there a way for us to use a PM service for me to provide you that information? The lowest TTL value GD will let me set on the MX record is 600 seconds. Just made that change.
I just sent you a PM via the forum to which you can reply to privately. Nobody outside of you and I can read PM’s with the exception of the project maintainer, @JoshData though he would have no logical reason to.