0

次のPowerShellスクリプトがあります。

$csv = Import-Csv -Path D:\temp\Audit.csv | Where-Object {$_.PrivateLabelSeqId -eq "602"} | Measure-Object
$Fun = $csv.Count
$mailBody = 
@"
There are <b> $Fun </b> available!
"@

Send-MailMessage -Body $mailBody -BodyAsHtml `
-From "mail@mail.com" -To "mailto@mail.com" `
-Subject "Audit - FUN" -Encoding $([System.Text.Encoding]::UTF8) `
-Attachment "D:\temp\Audit.csv" `
-SmtpServer "192.0.0.20"

それでも、メールが送信されません。ただし、アタッチメントがなくても問題なく動作するようです。これを解決する方法について何かアイデアはありますか?ありがとう

4

1 に答える 1

0

同じ問題が一度発生しましたが、代わりにSystem.Net.Mailを使用して解決しました。

$filenameAndPath = (Resolve-Path .\$file).ToString()
$from = 'mail@mail.com'
$to = "mailto@mail.com" `
$Subject "Audit - FUN" -Encoding $([System.Text.Encoding]::UTF8) 
[void][Reflection.Assembly]::LoadWithPartialName('System.Net') | out-null

$message = New-Object System.Net.Mail.MailMessage($from, $to, $subject, $subject)
$attachment = New-Object System.Net.Mail.Attachment($filenameAndPath, 'text/plain')
$message.Attachments.Add($attachment)
$smtpClient = New-Object System.Net.Mail.SmtpClient
$smtpClient.host = '192.0.0.20'
$smtpClient.Send($message)

System.Net.Mail.Attachementクラスの詳細については、http://msdn.microsoft.com/en-us/library/system.net.mail.attachment.aspxを 参照してください。

于 2012-06-19T21:55:18.057 に答える