To show what my successful solution was:
MailMessage message = UserMailer.Submission(farm, imageList); SmtpClientWrapper client = new SmtpClientWrapper(); client.SendCompleted += (sender, e) => { if (e.Error != null || e.Cancelled) { // Handle Error } if (message != null) { message.Attachments.Dispose(); message.Dispose(); // Delete the saved attachments now Parallel.ForEach(imageList, image => { if (System.IO.File.Exists(image)) { System.IO.File.Delete(image); } }); } client.Dispose(); }; // SendAsync() extension method: using Mvc.Mailer message.SendAsync("farm message", client);
source share