The next thing you want after purchasing your new domain is to get an email address with that domain name.
I decided to use Mailgun for that since maintaing your own mail servers is a cumebrsome task. I am not going to create a new Mailgun account since I already have one. You might have to enter your Credit Card information when you register. But you will not be charged untill you send more than 10 000 emails a month.
So here are the steps.
Add a new domain
I will be using the root domain despite their warnings. They are just warning you about your root domain getting flagged if you send lots of spam emails( I am safe because I am not going to send spam mails lol).

Add the DNS entries
Add these DNS records to your Domain.

This is how it looks like in GoDaddy( Remember sometimes @
points to the root domain).

Click Check DNS Records Now
button to verify the DNS entries. You are done when all the ticks are green.

Add the route
Under Routes
add new route to forward the emails to an existing email address of yours.

The problem
The mail I sent to info@pubudu.online
did not get delivered. The error message says the domain is not verified. Looks like my domain has got disabled. There is no button to enable that.

I had to raise a ticket to get the issue resolved. I will create a follow up post when I get a response from Mailgun.