I'm somewhat new to this problem so sorry if this is an obvious question. I am building a website for a client which is hosted on Heroku. The client previously had the old website hosted on HostGator. The Domain name was purchased from GoDaddy. The client has a custom email domain (ex. #client.ca). Today I transferred the new website domain from HostGator to Heroku, and everything seems to be working well except the emails. The "#client.ca" emails no longer work. From what I gather, I have to point Heroku towards the Host Gator IP Address in order for the emails to work. I'm not exactly sure how to do this. Does anyone have a solution for this? Thanks!
You need a DNS service like dnsmadeeasy or others mentioned on heroku. From there you need to distribute the different records, e.g. ANAME and CNAME to heroku, CNAME to external asset hosts like cloudfront, MX (and A) to email host.
Am myself in the process of dealing with the "email problem":
(easier) The registrar (domain name provider) offers email hosting, but does not offer ANAME or ALIAS records (common): You can point the nameservers to the DNS service and then point the email back to your registrar. Found registrars quite helpful in general with helping if you need config details.
(more annoying) The registrar does not offer email hosting in the first place or has an all or nothing policy re nameservers (everything with them, or nothing with them, like e.g. easily). In this case you have to find an independent email host. Any recommendations? The setup is analogue.
(perfect) Your registrar offers ANAME or ALIAS records and email hosting. Lucky you!
Related
My client is currently hosting his site on a shared GoDaddy hosting plan, an also his emails accounts. Question is... how can I migrate his website to Digital Ocean and keep the emails on GoDaddy?
I had an recently where I could not receive emails on my goDaddy account once I have moved the nameservers to DO. For anyone facing this issue, the below steps should fix it.
To migrate hosting from goDaddy to DO, follow the below link
https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars
Once you have pointed nameserves, your traffic will be redirected to DO. Now if you want to use the email service provided by goDaddy, you will need to point your DO "MX" records back to godaddy.
First you will need to know the goDaddy incoming email server details. To obtain this, you will need to go to email server settings within your goDaddy Dashboard. The server details will look something like
Incoming server (IMAP):
imap.secureserver.net
Incoming server (POP3):
pop.secureserver.net
You will then need to add these details as MX Records in your Digital ocean domain DNS settings page. DO will then route emails to your goDaddy email service.
These details will take time to reflect. For me it took a day to start receiving emails on goDaddy.
Hope this helps!
Yes, you could just change your zone records to reflect what you want to do. Presumably you want to transfer the DNS zone to Digital Ocean and only keep the email at Godaddy.
In Godaddy's domain name manager you can change over to the Digital Ocean name servers.
ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com
Check things out:
dig ns example.com
and
whois example.com
The name servers should be the above DO name servers.
The only thing you need to point back at Godaddy will be Goddady's MX records. unless, of course, you're using Office 365 email, which a lot of Godaddy's customers seem to use, in which case lookup the appropriate MX records for Office 365.
I hope this helps.
This is possible, recently I did the same with Hostgator and GCP ( Mail service from webmail and app in Google Cloud ). These are the steps I followed.
1) Add new A record ( if possible/allowed add with name # ) in your
shared/hosting/cpanel service, and point it to your cloud providers
IP(the IP on which your app is running).
2) Add another A record with name www and point it to the IP of your
service running in the cloud.
3) Delete the CNAME record called mail.
4)Add new A record with name mail and point it to your cpanel /
webmail service providers IP.
5)Add MX record and point it to destination mail.yoursitename.tld and
set the priority as 0
By this point, you will be able to send mail.
6) Add SPF record ( TXT record ) or go to Authentication settings in
the Email section in your cpanel and enable SPF.
7)Go to Email Routing in the Email section in your cpanel and select
your domain then choose Local Mail Exchanger under Configure Email
Routing. That's it now you will be able to receive emails also.
Link to my original answer
I would like to ask if its possible to retain the email of my domain to godaddy and is hosted in gmail but the hosting is in different provider like namecheap. I know how to point the nameserver of namecheap to godaddy but my problem is with the email
Assuming I understand correctly, you are using Google Apps For Mail. If so, you may simply host your domain name with Namecheap and then set up Google MX records for your domain name. This way you will have your domain hosted with Namecheap and mail service handled by Gmail. No need to include GoDaddy into this chain.
You may find MX records here: https://support.google.com/a/answer/33915?hl=en
These MX records should be set up in your cPanel (if you have a hosting plan) or at the Advanced DNS page of your Namecheap account (if you are using Namecheap's Premium or Basic DNS).
When messing around with different mail hosting options I noticed a very aggravating pattern with my Android phone. Neither the built-in mail app nor the gmail app supported email auto-configuration.
When using most mail services such as Namecheap, Zoho, Rackspace, etc. this became a real issue. I would enter my email address and password then instead of it just working like magic, it would invariably fail as it attempted to set the mail server to mail.example.com instead of mail.privateemail.com or smtp.zoho.com
I can configure a CNAME entry for my domain to redirect to these servers and successfully connect to mail.example.com.... up until I try to enable secure e-mail (STARTTLS or TLS wrapper). When I do this the domain name on the certificate does not match up to the domain name I am using to access and the whole thing fails.
Of course setting up my own mail server could be an option, but it could take months or years for my IP address to build up enough reputation to not get auto-blocked by major providers like Gmail or Yahoo. This whole past month DreamHost has been unable to send emails to any address owned by AT&T, which has been nightmarish to get resolved. Not wanting an issue like that, I would like to go with a big name for e-mail hosting.
While looking into Amazon SES to see if it would be easy to set up, I noticed this page on secure tunnels to AWS SES
I'm not super familiar with mail servers and I honestly have no idea what I'm reading on this page. Like I can follow the steps to install and configure this program and run it, but it doesn't accurately say what the purpose is of doing this. Am I right in believing that this might solve my SSL issue and allow me to send mail to mail.example.com without any issues? If so, is there any additional setup that I will require which is not adequately explained by this article?
We are hosting email with a hosted exchange provider so it is separate from the website.
The domain is registered with 123 reg and the nameservers are pointing to a server where the web files and database sit. From our control panel we have configured the appropriate MX/DNS entries to point the email to the hosted exchange server.
If our server went down where our website sits, will our email go down too because the MX records and DNS entries are hosted on this server?
Thanks
It depends. DNS is usually cached, so any email server that recently sent you a message and the TTL hasn't expired, should be able to reach you. Any new requests could go unanswered.
That being said, what I described will not provide any reliable redundancy. The best solution is to have another authoritative dns server in a separate location in case your server goes down.
It sounds like you're worried about missing messages. If your downtime isn't more than 24 hours you should be ok. Most email servers will try several times to send a message before it's returned.
I am building a web application that will also allow my users to register/transfer a domain and manage email addresses through my application. However, I'm not exactly sure how to do that yet. I think there are services with APIs that will allow me to register domain names. However, working with DNS, MX records, email addresses and running an email server is something I've never done before. What do I need to know about automating this process of managing email accounts, and what sorts of solutions already exist?
for the email address part, have a look at How to communicate with a mail server through a web application
the dns part is pretty much the same, but you need a dns authoritative server with a database backend, such as powerdns (database configuration docs)
if you don't want to run the dns servers yourself, powerdns also offers hosting with API access