Although you're just a newbie to this job I would still try to make the concept clear to you, as much as I can instead of forwarding you to MSDN.
1. The SMTP server host is totally different, you just don't always use the ending characters of your email-address to make up the SMTP server's address. For example, my email addres is "justinXXXXX@gmail.com", now, "gmail.com" is not my SMTP server's domain name. Instead it is, "smtp.gmail.com". It depends on how your client allows you to use their servers to send emails to your clients.
I have tried to Google for m.com, and I've always recieved a negative response also that m.com doesn't exist. Where did you register yourself? I would like to recommend you to use the Gmail (Outlook, Yahoo etc) servers to send and recieve emails until you're learning because of their free email sending budgets for users.
2. No, IIS is already set to allow you to send the emails through a connected server using their configurations. Which are, your username, password and a few other connection settings such as Port etc. Which you won't have to pay any fortune to get started, but in real you would just add them up while building that code of yours.
3. You do not need the IP address of their website or SMTP server domain at all. You will just input the string of domain name, and the DNS server will do the thing for you.
4. It depends on Windows Firewall settings, but usually you won't get any trouble while sending emails through Firewall unless there is any illegal activity.
To get an example of the code to send an email using VB.NET, please read this document it will explain the core concepts and will provide a sample to send the emails.
http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2[
^]