Έχω το παρακάτω απλό console application
private static void Main(string[] args)
{
MailMessage message = new MailMessage { From = new MailAddress("
[email protected]") };
message.Body = "Test!";
using (SmtpClient smtp = new SmtpClient())
{
smtp.Host = "mail.adactus64.co.uk";
smtp.Port = 25;
smtp.Timeout = 10; --in purpose to test wcf service binding timeout later
try
{
smtp.Send(message);
}
catch (SmtpException ex)
{
Console.WriteLine(ex);
}
Console.ReadLine();
}
}
Αυτό που μου κινεί το ενδιαφέρον είναι ότι ο παραπάνω κώδικας μου κάνει raise SmtpException άλλοτε Τhe operation has timed out είτε Τhe remote server could not be resolved που ήταν και αυτό που ανέμενα. Υπάρχει κάποια εξήγηση για αυτό? (η ίδια συμπεριφορά είτε ορίσω είτε όχι το Timeout property).
Aφορμή για τα παραπάνω στάθηκε το γεγονός ότι στο log file εφαρμογής είχα σποραδικά εγγραφές τύπου Operation time out και με to stack trace να δείχνει στη stmp.Send μολονότι τα settings ήταν σωστά καθότι η ευρεία πλειοψηφία των emails στέλνονταν κανονικά.