Проблемы с отправкой электронной почты с помощью Powershell - PullRequest
0 голосов
/ 21 марта 2012

Я запустил следующий скрипт:

PS C:\> Send-MailMessage -To <EmailAddress1> -From <EmailAddress2> -Body "This is a test" -Subject "TEST MAIL" -SmtpServer <INTERNAL IP OF SMTP SERVER>

И я получаю следующую ошибку:

Send-MailMessage : Unable to read data from the transport connection: net_io_connectionclosed.

At line:1 char:17
+ Send-MailMessage <<<<  -To <EmailAddress1> -From <EmailAddress2> -Body "This is a test" -Subject "TEST MAIL" -SmtpServer <INTERNAL IP OF SMTP SERVER>
+ CategoryInfo: InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-Mail Message], SmtpException
+ FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage`

Мне сообщили о том, что мне нужны разрешения для отправки электронной почты с моего локального компьютера через SMTP-сервер, и, насколько я знаю, мне предоставлены эти права.

Кто-нибудь, пожалуйста, помогите указать мне правильное направление на этом?

Конечная цель - иметь возможность отправлять электронные письма как часть некоторых скриптов Powershell.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 февраля 2015

Возможно, ваш антивирусный файловый сервис блокирует доставку почты.

2 голосов
/ 21 марта 2012

Я предпочитаю метод отправки электронной почты Net.Mail.SmtpClient. Этот скрипт будет отправлять содержимое файла, переданного в качестве параметра.

$emailFrom = "AUTOMATED_PRERUN@somehost.com"
$emailTo = "somebody@somehost.com"
$subject = "TEST"
get-content $Args[0] | %{$Body+= " {0} `n" -f $_}
$smtpServer = "mailserver.somehost.com"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

Хотя ваша ошибка звучит скорее как проблема с сетью какого-то типа.

Возможно, вы захотите проверить, можете ли вы подключиться к порту smtp на сервере:

 http://support.microsoft.com/kb/153119
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...