Я пытаюсь использовать этот скрипт как простое логическое значение, которое проверяет файл и отправляет успешное электронное письмо или сообщение об ошибке. Но я не могу для жизни понять, почему это не работает.Не удается отправить письмо через Powershell
Любые идеи?
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
$Username = "[email protected]"
$Password = "xxxxxxx"
$to = "[email protected]"
if (([System.Io.fileinfo]'E:\GD Backup Folder\backup\Backup_*.zip').LastWriteTime.Date -ne [datetime]::Today) {
$message = New-Object System.Net.Mail.MailMessage
$message.subject = "Backup Successful"
$message.body = "Backup was successful."
$message.to.add($to)
$message.from = $username
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message)
write-host "Mail Sent"
}else{
$message = New-Object System.Net.Mail.MailMessage
$message.subject = "Backup Unsuccessful"
$message.body = "Backup was NOT Successful - File Not Found"
$message.to.add($to)
$message.from = $username
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message)
write-host "Mail Sent"
}
Как вы даже удалось получить этот бит работать? [System.Io.fileinfo] 'E: \ GD Backup Folder \ backup \ Backup _ *. Zip' – notjustme
Он просто ищет файл с той же датой, что и сегодня, и отправит электронное письмо, если да, или если нет , Может быть, я не могу использовать подстановочный знак? –
Попробуйте запустить этот единственный фрагмент кода в командной строке. [System.Io.fileinfo] 'E: \ GD Backup Folder \ backup \ Backup _ *. Zip' – notjustme