Sending an email is pretty simple in .Net. I think you will find it pretty easy to follow once you see how it works. What is not clear in the sample you provided?
To start, I would ignore all of the event handling and you do not have to do an async call. The basic email logic is only a few lines of code and once you get that working, you can extend it with the async and error handling.
In the example you provided, just remove all of the error handling at first to get it to work. I think that might be what is confusing you. Focus on the message object and the properties you need to sent and the send. That should be enough to get you started. Maybe something like the following.
The sample you provided is a bit odd. I don't like how they are doing the error handling and I do not see the web.config settings. But you can set that up in IIS under the administration settings. Just configure the SmtpClient using the IIS GUI and this SmtpClient code will use it by default. Or you can code it from within your app as well. But I find it easier to work with IIS to configure it.
SmtpClient mSmtpClient = new SmtpClient ();
mMailMessage.From = new MailAddress ("no-replay@mycompany.net");
mMailMessage.To = "testyourownemail@test.com";
mMailMessage.Body = message;
mMailMessage.IsBodyHtml = true;
mMailMessage.Priority = MailPriority.Normal;
mMailMessage.Subject = subject;
mSmtpClient.EnableSsl = true;
mSmtpClient.Send (mMailMessage);
Here's a pretty good MSDN article that I have used myself. But if you want to paste code here and ask questions, please do so. I suspect you are making it harder than it really is.
http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx[
^]
Try this and let us know if you have problems. We can probably help you through any of the problems you encounter.