First I would like to thank your suggest. My idea aims to capture user actions to improve program because my software in the testing period. Of course I shall let the user choice of End User License Agreement.
You did not try for that purpose "Calling home when using program". And can you provide me sample code?
You could simply wrap that in a try/catch block.
There are more things that can go wrong with sending mail than JUST the Internet connection such as firewall blocking or a poor connection, retries, etc.
You could write a lot of code to try to get around all of the possibilities or you could just try once and ignore any errors.
//call the send-mail rountine
//ignore any error