Я пытаюсь отправить электронное письмо, но получаю сообщение об ошибке. У меня есть powershell 4.0, поэтому просто для информации. Я использую GUI, созданный с помощью PrimalForms. Как вы можете видеть, я пытаюсь отправить от двух разных почтовых хостеров. Gmail и HotmailPowershell Отправить сообщение Ошибка
Сообщение об ошибке:
Send-MailMessage : Die E-Mail-Nachricht kann nicht gesendet werden, da kein SMTP-Server angegeben wurde. Sie müssen entweder mit dem
SmtpServer-Parameter oder der $PSEmailServer-Variablen einen SMTP-Server angeben.
In Zeile:118 Zeichen:9
+ Send-MailMessage -From "$textBox_From.text" -To "$textBox_To. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Send-MailMessage], InvalidOperationException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.SendMailMessage
-Body : Die Benennung "-Body" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.
Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:119 Zeichen:9
+ -Body "$textBox_Text.text" -SmtpServer "mail.google.com" -por ...
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (-Body:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Мои Powershell Код:
$button_MailSenden_OnClick = {
if (($textBox_From.TextLength -eq 0) -or
($textBox_To.TextLength -eq 0) -or
($textBox_Subjekt.TextLength -eq 0) -or
($textBox_Text.TextLength -eq 0)) {
[System.Windows.Forms.MessageBox]::Show("Bitte füllen Sie alle Kriterien aus." , "Combat 19")
#Gmail
} elseif ($radioButton_Gmail.Checked) {
Send-MailMessage -From "$textBox_From.text" -To "$textBox_To.text" -Subject "$textBox_Subjekt.text"
-Body "$textBox_Text.text" -SmtpServer "mail.google.com" -port "587"
[System.Windows.Forms.MessageBox]::Show("Mail gesendet!" , "Combat 19 - Gmail")
#Hotmail
} elseif ($radioButton_Hotmail.Checked) {
Send-MailMessage -From "$textBox_From.text" -To "$textBox_To.text" -Subject "$textBox_Subjekt.text"
-Body "$textBox_Text.text" -SmtpServer "smtp.live.com" -port "487"
[System.Windows.Forms.MessageBox]::Show("Mail gesendet!" , "Combat 19 - Hotmail")
}
}
используйте английские сообщения об ошибках. Benutz lieber englische Fehlermeldungen, sonst können dir nur weniger Leute helfen. – hering
Удалите разрывы строк между 'Send-MailMessage' и' -Body ... ' –
Хорошо, в нем говорится, что -body не является командлетом. Я попытался открыть его не в PowerGui и, похоже, не подключиться к серверу smtp ... –