Добрый день!
Есть вот такой скриптик:
$serverSmtp = "smtp.yandex.ru"
$port = 465
$From = "myemail@yandex.ru"
$To = "recipient@yandex.ru"
$subject = "Письмо"
$user = "mylogin"
$pass = "mypassword"
#Создаем экземпляр класса
$mes = New-Object System.Net.Mail.MailMessage
#Формируем данные для отправки
$mes.From = $from
$mes.To.Add($to)
$mes.Subject = $subject
$mes.IsBodyHTML = $true
$mes.Body = "<h1>Тестовое письмо</h1>"
#Создаем экземпляр класса подключения к SMTP серверу
$smtp = New-Object Net.Mail.SmtpClient($serverSmtp, $port)
#Сервер использует SSL
$smtp.EnableSSL = $true
#Создаем экземпляр класса для авторизации на сервере яндекса
$smtp.Credentials = New-Object System.Net.NetworkCredential($user, $pass);
#Отправляем письмо
$smtp.Send($mes)
Письма не отправляются :( пару писем проскочило, дошли. При этом скрипт долго висит и выдает такую ошибку:
Исключение при вызове "Send" с "1" аргументами: "Время ожидания операции истекло."
строка:30 знак:1
+ $smtp.Send($mes)
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SmtpException
Подскажите, что не так со скриптом? Смысл фразы "Время ожидания операции истекло" мне понятен. Не понятно почему несколько раз письма уходили и больше не уходят. И не понятно как это дело отладить и понять где проблема