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