Consider using System.Web.Mail instead, and drop the mail in your local mail queue with your current credentials.
In order to avoid the "try 5 times until the external smtp server happens to be awake", you can drop mail in your local queue (it is the file system, and it is not busy, crashed, or otherwise unavailable, or your code wouldn't be running in the first place.
1) If you are connected to the internet, NT will immediately deliver the mail correctly to the recipient's email server with no delays or detours. If the recipient mail server delivers mail instantaneously, the recipient will see your mail, before your finger leaves the keyboard. No settings are necessary; the internet just works...
2) If you go through a proxy, because your firewall prevents you from accessing the internet, or because you want better protection against accidentally sending bad content, your NT mail demon will deliver the mail to the proxy instead. Your mail proxy may require user name and password, and may have restrictions on outgoing email addresses, etc. The proxy will deliver the mail whenever the proxy policies are scheduled.
3) If there is a delivery problem, your mail is left in the outgoing queue until it is successfuly sent.
***The System.Web.Mail has been depreciated as of v2.0***