The recommended way to set up DNS? - email

Brief background:
I am learning VPC with AWS lightsail(wordpress). I just realised it doesn't come with email service and have to be set up on our own.
What I want to do:
I would prefer to use a non Amazon's email service provider (maybe proton or g-suite) for daily email communications.
I'd prefer to have www.example.com to be redirected to example.com
My questions:
What is the recommended way to set up the email MX record?
Does it make any difference in configuring DNS with domain registrar or hosting service provider?
I remember Google Analytics has the option to direct www.example.com to example.com and vice versa. Is it similar to DNS directing or that is mainly for site traffic direction?
Extra info:
Currently, the domain is registered with Namecheap and I have the NS pointed to AWS. I'm open to any kind of configuration suggestions because it is mainly for learning purpose and can be changed/deleted anytime.

Related

AWS Route53 | Alias record from other DNS providers

My client has a domain address on Godaddy and I would like to just connect A record to AWS Api Gateway without changing NS records because my client using other records such as MX and etc on Godaddy and would stay on it.
In Route53 we can create records by alias directly but in this case I'm not sure how could it be possible.
I just did something similar with Amplify and I just imported the domain, changed the CNAME (following the Amplify docs - https://docs.aws.amazon.com/amplify/latest/userguide/to-add-a-custom-domain-managed-by-a-third-party-dns-provider.html).
For API gateway, it might be a little different but I think you can go to Route 53 resolver and look for the inbound query link and then send it to your VPC of your Api Gateway endpoint.
Base on my recent searches on AWS documents and also Evan's document, there is no way without ANAME (Alias Name Record) that must provided by your DNS provider.
I'm not sure that my customer accept migration from existing DNS provider but I'm going to suggest below as our second solution:
example.com couldn't set by ANAME but www.example.com could set CNAME then we can make a simple redirect from example.com to www.example.com.
I think Godaddy providing url redirect by default otherwise we must run an EC2 just for this redirection.
I know it sucks but it seems that there is no any other way.
I will appreciated If someone knows better solution.

Subdomain on GCP for split domain routing

How can I make a subdomain on google cloud platform for split domain routing? I already have an email provider on my domain so I want to do SDR to connect another email provider. My domain is registered from GoDaddy and then pointed to GCP where is hosted by Bitnami WordPress.
I understand that you want to create a Split Domain Routing using GCP but you should know that Google Cloud is blocking the outbound connections on ports 25, 465, and 587.
So if you want to create an SDN you have to set up your own email server on an instance using a non-standard ports and create the MX records in your DNS.

Change nameserver of Domain

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).

How to manage (create/delete) Email addresses programmatically?

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

How can my xmpp app federate with Google Apps users without having them create SRV records?

I have an application that uses Prosody and XMPP to communicate with Google Talk users. I want the app to be able to communicate with Goole Apps users, but according to this document:
http://www.google.com/support/a/bin/answer.py?hl=en&answer=34143
having Google Apps users talk to any xmpp client outside of #gtalk.com requires creating SRV records.
My question is: How can my app talk to Google Apps users /without/ requiring them to create DNS records for their domain? (This is highly technical and no one does this.)
Is there some way to trick my server into talking to Google's XMPP server instead of looking for a non-existent XMPP endpoint?
This may require a creative solution.. hosts file, firewalls, special DNS settings... anything? Is it possible??
Have your XMPP server configured to talk to a local DNS server that serves up whatever SRV records you want. I suggest dnsmasq, with a configuration like this:
# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv
# A SRV record sending XMPP for the example.com domain to
# xmpp-server.l.google.com port 5269
srv-host=_xmpp-server._tcp.example.com,xmpp-server.l.google.com,5269,5
srv-host=_xmpp-server._tcp.example.com,xmpp-server1.l.google.com,5269,20
srv-host=_xmpp-server._tcp.example.com,xmpp-server2.l.google.com,5269,20
srv-host=_xmpp-server._tcp.example.com,xmpp-server3.l.google.com,5269,20
srv-host=_xmpp-server._tcp.example.com,xmpp-server4.l.google.com,5269,20