PowerShell-Ausnahme beim aufrufen von "Send" mit "1" argument(s): "Fehler beim senden von mail."

Habe ich den folgenden Fehler beim ausführen dieses Skripts:

Ausnahme beim aufrufen von "Send" mit "1" argument(s): "Fehler beim senden von mail."

#Variables to configure
$MailServer = "domain.com"
$ReportSender = "[email protected]"
$ReportRecipient = "[email protected]"
$MailSubject = ("yourdomain.local exchange2010 Mailbox Report for " + $MailServer + " - " + ( get-date ).ToString('yyyy/MM/dd'))

#SendEmailFunction
Function send-mailmessage
{ param($smtphost,$htmlFileName)
$smtp= New-Object System.Net.Mail.SmtpClient $smtphost
$msg = New-Object System.Net.Mail.MailMessage $ReportSender, $ReportRecipient, $MailSubject, (Get-Content $htmlFileName)
$msg.isBodyhtml = $true
$smtp.send($msg)
}

$exdata = Get-MailboxStatistics -Server $MailServer | Sort-Object TotalItemSize -descending | Select-Object DisplayName, ItemCount, TotalItemSize, Database, StorageLimitStatus

$fileName = "exchange2010Report.html"
New-Item -ItemType file $fileName -Force

# HTML start
Add-Content $fileName "<html>"

# HEAD start
Add-Content $fileName "<head>"

add-content $fileName '<STYLE TYPE="text/css">'
add-content $fileName  "<!--"
add-content $fileName  "td {"
add-content $fileName  "font-family: Tahoma;"
add-content $fileName  "font-size: 11px;"
add-content $fileName  "border-top: 1px solid #999999;"
add-content $fileName  "border-right: 1px solid #999999;"
add-content $fileName  "border-bottom: 1px solid #999999;"
add-content $fileName  "border-left: 1px solid #999999;"
add-content $fileName  "padding-top: 0px;"
add-content $fileName  "padding-right: 0px;"
add-content $fileName  "padding-bottom: 0px;"
add-content $fileName  "padding-left: 0px;"
add-content $fileName  "}"
add-content $fileName  "body {"
add-content $fileName  "margin-left: 5px;"
add-content $fileName  "margin-top: 5px;"
add-content $fileName  "margin-right: 0px;"
add-content $fileName  "margin-bottom: 10px;"
add-content $fileName  ""
add-content $fileName  "table {"
add-content $fileName  "border: thin solid #000000;"
add-content $fileName  "}"
add-content $fileName  "-->"
add-content $fileName  "</style>"

# HEAD end
Add-Content $fileName "</head>"

# HEAD start
Add-Content $fileName "<body>"

# TABLE start
Add-Content $fileName "<table width='100%'>"

# TABLE Header
Add-Content $fileName "<tr bgcolor='#7C7C7C'>"
Add-Content $fileName "<td width='35%'>DisplayName</td>"
Add-Content $fileName "<td width='10%'>ItemCount</td>"
Add-Content $fileName "<td width='10%'>TotalItemSize</td>"
Add-Content $fileName "<td width='25%'>Database</td>"
Add-Content $fileName "<td width='20%'>StorageLimitStatus</td>"
Add-Content $fileName "</tr>"

$alternateTableRowBackground = 0

# TABLE Content
while($alternateTableRowBackground -le $exdata.length)
{
if(($alternateTableRowBackground % 2) -eq 0)
{
Add-Content $fileName "<tr bgcolor='#CCCCCC'>"
}
else
{
Add-Content $fileName "<tr bgcolor='#FCFCFC'>"
}
Add-Content $fileName ("<td width='30%'>" + $exdata[$alternateTableRowBackground].DisplayName + "</td>") 
Add-Content $fileName ("<td width='10%'>" + $exdata[$alternateTableRowBackground].ItemCount + "</td>")
Add-Content $fileName ("<td width='15%'>" + $exdata[$alternateTableRowBackground].TotalItemSize + "</td>")
Add-Content $fileName ("<td width='25%'>" + $exdata[$alternateTableRowBackground].Database + "</td>")
#BelowLimit or NoChecking
if(($exdata[$alternateTableRowBackground].StorageLimitStatus -eq "BelowLimit") -or ($exdata[$alternateTableRowBackground].StorageLimitStatus -eq "NoChecking"))
{
Add-Content $fileName ("<td bgcolor='#007F00' width='20%'>" + $exdata[$alternateTableRowBackground].StorageLimitStatus + "</td>")
}
#IssueWarning
if($exdata[$alternateTableRowBackground].StorageLimitStatus -eq "IssueWarning")
{
Add-Content $fileName ("<td bgcolor='#7F7F00' width='20%'>" + $exdata[$alternateTableRowBackground].StorageLimitStatus + "</td>")
}
#ProhibitSend or MailboxDisabled
if(($exdata[$alternateTableRowBackground].StorageLimitStatus -eq "ProhibitSend") -or ($exdata[$alternateTableRowBackground].StorageLimitStatus -eq "MailboxDisabled"))
{
Add-Content $fileName ("<td bgcolor='#7F0000' width='20%'>" + $exdata[$alternateTableRowBackground].StorageLimitStatus + "</td>")
}
Add-Content $fileName "</tr>"

$alternateTableRowBackground = $alternateTableRowBackground + 1
}
# Summe Mailboxsize
Add-Content $fileName "<tr bgcolor='#7C7C7C'>"
Add-Content $fileName ("<td width='30%'></td>") 
$tempdata = MailboxStatistics -Server $MailServer | %{$_.ItemCount} | Measure-Object -Sum
Add-Content $fileName ("<td width='10%'>" + ($tempdata | Select-Object -expand Sum) + "</td>")
$tempdata = MailboxStatistics -Server $MailServer | %{$_.TotalItemSize.Value.ToMB()} | Measure-Object -Sum
Add-Content $fileName ("<td width='15%'>" + ($tempdata | Select-Object -expand Sum) + " MB</td>")
Add-Content $fileName ("<td width='25%'></td>")
Add-Content $fileName ("<td width='20%'></td>")


#TABLE end
Add-Content $fileName "</table>"

# HEAD end
Add-Content $fileName "</body>"

# HTML end
Add-Content $fileName "</html>"

send-mailmessage $MailServer $fileName

Dem der Bericht erzeugt wird feiner und die Datei wird erzeugt, aber es wird nicht eine E-Mail aus und ich bekomme die Fehlermeldung. Nicht sicher, warum genau, ich bin es. Vielen Dank im Voraus!

  • In der Regel zeigt ein Problem mit dem senden der E-Mail über den angegebenen SMTP-host (dh. die Nachricht abgelehnt wurde, wird die Verbindung geschlossen, host nicht gefunden usw.). Sind Sie sicher, dass domain.com ist der richtige smtp-server-fqdn und die, die Ihnen erlaubt, mails zu versenden, durch den es anonym?
  • die eigentliche domain die ich verwende, ist die richtige habe, da ich diesen für viele andere PS-Skripte und es funktioniert gut.
  • Aus dem gleichen host? Mit dem gleichen Empfänger-und Absender-Adressen? Gibt es viele Möglichkeiten, zu stellen Beschränkungen auf dem smtp-clients auf einem mail-gateway
  • Ja, Ja, Ja. Wir betreiben Exchange 2010 und es hat anonyme senden als gewährt, die wir laufen mehrere web-Server und senden Sie 1000 E-Mails pro Tag über das gateway ohne Authentifizierung (intern). Ich glaube nicht, dass das das Problem. Ich habe 100 von PS-scripts, die ich Häufig verwenden, und Sie alle nutzen das gleiche format und alle arbeiten. Dies tut man nicht.
  • Ein guter Weg, um zu überprüfen, dass dies ist ein Skript-centric problem, IMHO, wäre es, führen Sie dieses Skript auf einem Computer, der hat auch keine Probleme mit der gleichen ausgehenden mail-server. Meine Vermutung ist, du bist auf einem anderen server/system, wenn Sie diese fehlerhaften Skript - ist das korrekt?
  • das ist richtig. Der einzige Unterschied mit diesem Skript ist, bin ich es läuft auf dem Exchange-server mit EMS anstatt es von einer anderen box die Verbindung zu Exchange. Ich Stimme mit Ihren Ansatz zu einem gewissen Grad-ich verstehe einfach nicht, warum das Auswirkungen haben, auf die send-mailmessage-Befehl.
  • Ich habe getestet, Ihre Theorie und ausprobiert, läuft das Skript aus einer anderen box, aber habe den gleichen Fehler. 🙁
  • Ist das Konto, das Sie verwenden, um das Skript ausführen, das gleiche wie andere funktionale Skripts, E-mail senden?
  • Ja, ich bin mit einem enterprise-Domänen-admin-Konto in allen Fällen.
  • welche version von powershell, die Sie haben
  • 2.0 - das läuft auf Exchange 2010. Ich habe auch auf einem server laufen running 3.0 mit dem gleichen Fehler.
  • können Sie telnet ein telnet auf port 587 für smtp?
  • Ich bin mit den Befehl in der EMS (Exchange Management Console) auf dem Exchange server selbst. Sind Sie Fragen, ich telnet auf sich selbst?
  • versuchen Sie, ein test Send-MailMessage -To "[email protected]" -From "[email protected]" -SmtpServer 10.1.0.3 -Subject "test" -Body "this is test"
  • test-E-Mail erhalten!

InformationsquelleAutor DangeRuss | 2016-07-19
Schreibe einen Kommentar