FileWatcher отправляет несколько электронных писем с Net.Mail.MailMessage - PullRequest
0 голосов
/ 10 октября 2018

Я использую скрипт FileWatcher, и все, кажется, работает, насколько мониторинг.Проблема в том, что при изменении файла он отправляет мне электронное письмо.Он отправляет по электронной почте нормально, но всегда отправляет 2 электронных письма или, если я отправляю текст, 2 текста.Что тут происходит?Вот мой код:

$fswAuctions = New-Object IO.FileSystemWatcher $auctions, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
Register-ObjectEvent $fswAuctions Changed -SourceIdentifier FilesChanged4 -Action {

$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated

$SMTPBody = "The file '$name' was $changeType at $timeStamp"
Send-ToEmail -email "myemail@whatever.com" -strBody $SMTPBody -strSubject "Auctions Module"
Write-Host "The file '$name' was $changeType at $timeStamp" -fore white

}

function Send-ToEmail([string]$email, [string]$strBody, [string]$strSubject){

    $message = new-object Net.Mail.MailMessage
    $message.From = "do_not_reply@site.com"
    $message.To.Add($email)
    $message.Subject = $strSubject
    $message.Body = $strBody

    $smtp = new-object Net.Mail.SmtpClient("127.0.0.1", "25")
    $smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password)
    $smtp.send($message)
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...