2009-09-24 2 views
1

Мне было интересно, вам действительно нужно увеличить таймаут операции отправки вручную для отправки больших вложений. Я прочитал документацию Microsoft, расположенную here, и говорит, что длина таймаута составляет 100 секунд. Вместо того, чтобы работать с таймаутом, мне было интересно, возможно ли его просто сказать, что он продолжит работу до тех пор, пока не будет найдена ошибка или сообщение отправлено успешно?C# SMTPClient Timeout Question

ответ

3

Сама страница, на которую вы ссылаетесь, уже дает ответ: используйте метод SendAsync. Из SendAsync documentation:

Чтобы получить уведомление, когда по электронной почте была отправлена ​​или операция была отменена, добавить обработчик события к событию SendCompleted.

Событие SendCompleted требует SendCompletedEventHandler делегата, который в свою очередь получает AsyncCompletedEventArgs экземпляр, который может быть использован, чтобы выяснить, является ли отсылка удалось.

+0

Вау, позвольте мне проверить это, спасибо .... –

+0

Если метод async не работает, есть ли обратный вызов? –

+0

@lb: Смотрите мое редактирование. –