2009-09-24 5 views
1

Je me demandais, devez-vous vraiment augmenter le délai d'une opération d'envoi manuellement pour envoyer des pièces jointes volumineuses. J'ai lu la documentation de Microsoft située here et il dit que la longueur du délai d'attente est de 100 secondes. Au lieu de travailler avec le timeout, je me demandais s'il était possible de simplement dire de continuer jusqu'à ce qu'une erreur soit trouvée ou que le message soit envoyé avec succès?C# SMTPClient Timeout Question

Répondre

3

La même page que vous liez déjà donne la réponse: utilisez la méthode SendAsync. De l'SendAsync documentation:

Pour recevoir une notification lorsque le message a été envoyé ou l'opération a été annulée, ajouter un gestionnaire d'événements à l'événement SendCompleted.

L'événement SendCompleted nécessite un délégué SendCompletedEventHandler, qui reçoit à son tour une instance AsyncCompletedEventArgs, qui peut être utilisé pour savoir si l'envoi a.

+0

Wow, laissez-moi vérifier, merci .... –

+0

Si la méthode asynchrone échoue, y at-il un rappel? –

+0

@lb: Voir ma modification. –