When moving domain names, if you have hosting for both, use .htaccess on the old domain to redirect to a new domain using a 301 redirect. I am no expert at the htaccess stuff so here is an article that I come back to when I have this problem.
https://enarion.net/web/htaccess/migrate-domains/
As far as moving the site url the codex can answer that. https://codex.www.ads-software.com/Changing_The_Site_URL
A word of advice when you change the url in the site settings it can be difficult to get back and change them to the proper one. I have ended up editing the database to correct it.
Using the wp-config.php or the functions.php method works and if you have access via ftp is great. I use these methods until I am sure everything is working then I remove them and update the settings in the database.
Also I have a Gmail account that my host redirects all the email I receive to my .com email address to my gmail. There are setting in gmail that will let any email you send out have the from [email protected] instead of your gmail address.
I hope this helps.