public static void AsyncSimpleEmail(string from_address, string from_name, string to, string subject, string body, bool isHTML, string smtp_host, int smtp_port, string accountUsername, string accountPassword, System.Net.Mail.AlternateView[] alternativeViews) { //create delegate and invoke it asynchrnously, control passes past this line while this is done in another thread AsyncSimpleEmailDelegate3 myAction = new AsyncSimpleEmailDelegate3(SyncEmail3); myAction.BeginInvoke(from_address, from_name, to, subject, body, isHTML, smtp_host, smtp_port, accountUsername, accountPassword, alternativeViews, null, null); }