2014-02-12 2 views
0

Вот код Powershell скрипта я используюPowerShell - отправка почты скрипт метания ошибки

$SmtpClient = New-Object system.net.mail.smtpClient; 
$mailmessage = New-Object system.net.mail.mailmessage; 
$SmtpClient.Host = "exchange server name"; 
$SmtpClient.Credentials = New-Object System.Net.NetworkCredential("User name", "password"); 
$mailmessage.from = ("[email protected]"); 
$mailmessage.To.add("[email protected]"); 
$mailmessage.Subject = “Message”; 
$mailmessage.Body = “Body”; 
$smtpclient.Send($mailmessage); 

Здесь ошибку я получаю

Exception призывающее «Отправить» с «1» аргументом (s): «Отказ отправки почты». В C: \ Users \ user1 \ Desktop \ sendmailPS.ps1: 9 char: 17 + $ smtpclient.Send < < < < ($ mailmessage); + CategoryInfo: NotSpecified: (:) [], MethodInvocationExcept ион + FullyQualifiedErrorId: DotNetMethodException

Любая помощь приветствуется и спасибо заранее

+0

Это может быть разъем на сервере Exchange. Вы уверены, что сервер сделает smtp-реле? – mjolinor

ответ

2

Если у вас нет необходимости поддерживать совместимость с PowerShell 1.0, использование send-mailmessage. Линейные расширения добавлены для удобства чтения.

send-mailmessage -smtphost your.smtp.host -from [email protected] -to [email protected] ` 
-subject "message" -body "body" ` 
-Credential (New-Object -TypeName System.Management.Automation.PSCredential` 
    -ArgumentList "user name" (ConvertTo-SecureString -String "password" -AsPlainText -Force)) 
+0

Спасибо за это! не знал, что могу использовать Mail-сообщение, намного лучше. – ricky89

Смежные вопросы