private static void SendToCollectionCompleted(IAsyncResult result) { if (!result.CompletedSynchronously) { SendMailAsyncResult asyncState = (SendMailAsyncResult)result.AsyncState; try { string str; if (!RecipientCommand.EndSend(result, out str)) { asyncState.failedRecipientExceptions.Add(new SmtpFailedRecipientException(asyncState.connection.Reader.StatusCode, asyncState.toCollection[asyncState.toIndex - 1].SmtpAddress, str)); if (asyncState.failedRecipientExceptions.Count == asyncState.toCollection.Count) { SmtpFailedRecipientException exception = null; if (asyncState.toCollection.Count == 1) { exception = (SmtpFailedRecipientException)asyncState.failedRecipientExceptions[0]; } else { exception = new SmtpFailedRecipientsException(asyncState.failedRecipientExceptions, true); } exception.fatal = true; asyncState.InvokeCallback(exception); return; } } if (asyncState.SendToCollection()) { asyncState.SendData(); } } catch (Exception exception2) { asyncState.InvokeCallback(exception2); } } }
private static void SendToCompleted(IAsyncResult result) { if (!result.CompletedSynchronously) { SendMailAsyncResult asyncState = (SendMailAsyncResult)result.AsyncState; try { string str; if (RecipientCommand.EndSend(result, out str)) { asyncState.SendData(); } else { asyncState.InvokeCallback(new SmtpFailedRecipientException(asyncState.connection.Reader.StatusCode, asyncState.to, str)); } } catch (Exception exception) { asyncState.InvokeCallback(exception); } } }