Solved

Sending Email SMTP Client Asynchronously

Posted on 2015-01-14
1
31 Views
Last Modified: 2016-01-30
I need to send email asychronously without interrupting the calling thread, but the built in sendasync method does block the calling thread.  If I run the software I'm using with an internet connection, there is no problem, but if I disconnect the computer from the internet, the software will freeze for approximately 15 seconds before giving up the attempt to send the email.  Here is the code I'm using:


        public void Send_Error_Email(SmtpClient inputClient, MailMessage inputMessage)
        {
            inputClient.SendCompleted += new SendCompletedEventHandler(error_SendCompleted);

            if (inputMessage.To != null)
            {
                if (inputMessage.To.Count > 0)
                {
                    //fix error regarding 'Mailbox unavailable'
                    inputClient.SendAsync(inputMessage, "Email");
                }
            }

Is there something wrong with this code?  I thought it was supposed to run on its own thread based on the MSDN description, but it does not do so. Thanks for any help you can offer.
0
Comment
Question by:l2Bravo
1 Comment
 

Accepted Solution

by:
l2Bravo earned 0 total points
ID: 40591766
Nobody answered the question, but I found a solution by simply creating my own thread to send the email.  While the documentation seems to indicate the SendAsync method does this automatically, I assumed I did not have to.  But, because the documentation does not seem to be correct (or I'm reading it wrong), I created a simple thread to send the email and close after that action is completed, with a timeout of 10 seconds on the Send method.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

In this article, I will show how to use the Ribbon IDs Tool Window to assign the built-in Office icons to a ribbon button.  This tool will help us to find the OfficeImageId that corresponds to our desired built-in Office icon. The tool is part of…
What my article will show is if you ever had to do processing to a listbox without being able to just select all the items in it. My software Visual Studio 2008 crystal report v11 My issue was I wanted to add crystal report to a form and show…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now