2016-07-19 20 views
-1

このスクリプトの実行中に次のエラーが発生しています。PowerShell "1"引数を指定して "Send"を呼び出す例外: "Failure sending sending mail。"

"1"引数で「送信」を呼び出す例外:「メール送信失敗」例外。

#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 

レポートは正常に生成され、ファイルは生成されますが電子メールは出力されずエラーが発生します。なぜ私がそれを得ているのか正確にはわからない。前もって感謝します!

+0

通常(指定したSMTPホストを通じてメールを送信して問題を示し、送信する前にこの行を追加すなわち。メッセージが拒否された、接続が閉じられた、ホストが見つからないなど)。あなたは 'domain.com'が正しいSMTPサーバfqdnであり、匿名でそれを使ってメールを送ることが許されていますか? –

+0

@ MathiasR.Jessen私が使用している実際のドメインは、他の多くのPSスクリプトでこれを使用するので正しいものです。 – DangeRuss

+0

同じホストからですか?同じ受信者と送信者のアドレスを使用していますか?メールゲートウェイでsmtpクライアントに制限を加える方法はたくさんあります。 –

答えて

0

この

$emailSmtpServer = "mail.somewhere.com" 
$emailFrom = "[email protected]" 
$emailTo = "[email protected]" 
$emailSubject = "$domain report $env:computername subject $date" 
$emailBody = "Get-Content c:\exchange2010Report.html" 
Send-MailMessage -To $emailTo -From $emailFrom -Subject $emailSubject -Body $emailBody -BodyAsHTML -SmtpServer $emailSmtpServer 
0

電子メールサーバが認証を必要としていたので、私は

$SMTP.Credentials = New-Object System.Net.NetworkCredential("[email protected]", "password") 
+0

これは答えですrは不明です –

関連する問題