0
Я пытаюсь отправить почту с помощью powershell, используя gmail smtp server. Вот мой фрагмент кода.Тайм-аут Powershell при отправке электронной почты
$sender = "[email protected]"
$recipient = "[email protected]"
$subject = "test"
$body = "test text"
$username = "[email protected]"
$password = "password"
$sc = new-object Net.Mail.SmtpClient("smtp.gmail.com", 465);
$sc.EnableSsl = $true;
$cred = New-Object System.Net.NetworkCredential($username,$password);
$sc.Credentials = $cred;
$emsg = new-Object System.Net.Mail.MailMessage($sender, $recipient, $subject, $body);
$sc.Timeout = 180000
$sc.Send($emsg);
Everytime I Получать тайм-аут, даже если я установил значение тайм-аута до 3 минут (180 секунд). Точнее, ошибка
Exception calling "Send" with "1" argument(s): "The operation has timed out."
At line:15 char:1
+ $sc.Send($emsg);
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SmtpException
У кого-нибудь испытал этот вопрос раньше? Любые предложения или идеи будут действительно оценены.
Код на самом деле не Powershell, который вы используете .net-классы, Powershell имеет send-mailmessage http://ss64.com/ps/send-mailmessage.html Попробуйте это - возможно, это не поможет, но я думаю это способ Powershell. –
Тайм-ауты обычно означают, что есть проблема, связанная с сетью. Попробуйте выполнить ping или подключиться через telnet или другой smtp-клиент к тому же хосту. – n3wjack