Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Автоматическая отправка файлов, попадающих в папку. (http://forum.oszone.net/showthread.php?t=346504)

Onza 23-09-2020 12:17 2934688

Автоматическая отправка файлов, попадающих в папку.
 
Дорого дня! В общем есть такая задача. В некой папке " Base" появляются время от времени файлы -логи ошибок со своим расширением. Нужно отследить появление нового файла и отправить его ( файл) на определенный е-маил.
Перепробовал несколько программ Sendmail, и т п, но они не работают.
Подскажите возможный вариант. Я так понимаю, почитав немного форумов, что должен быть какой-то бат файл, который бы следил за папкой? затем отправлял появившееся содержимое на мыло.
Cейчас начал копать blat, но там какие-то траблы с SSL? что можно вроде как, решить через Stunnel.
В общем подскажите хотя бы в каком направлении копать? Можно ли решить эту задачу средствами Windows 10.

Elven 23-09-2020 13:27 2934700

Send-MailMessage. По ссылке даже есть пример с параметром -Attachments

greg zakharov 23-09-2020 14:10 2934708

Вариантов тьма: curl, pwsh, certutil и т.п.

Onza 24-09-2020 05:02 2934828

Нашел smtpsender, Пока разбираюсь.Теперь задача разобраться как отправлять именно последний появившийся в папке файл...

Onza 24-09-2020 07:26 2934831

Письмо отправляется! Пока в ручном режиме! Небольшая путаница с кодировкой! И не приходит прикрепленный файл!- но тут я скорее всего некорректно указываю путь.

up^
В общем разобрались с автором программы smtpsend. Все файлы пересылаются! Теперь осталась задача автоматизировать забор новых файлов из определенной директории по событию, то есть когда там появляется новый файл.

Fors1k 24-09-2020 14:03 2934858

Код:

param(
    $user    = 'baza@yandex.ru',
    $Password = 'qwe123',
    $address  = 'onza@gmail.com',
    $path    = 'C:\base',
    $filter  = '*.log'
)cls

$w = [io.filesystemwatcher]::new($path, $filter)
register-objectevent -inp $w -event Created -action {
    $SMTPServer = 'smtp.yandex.ru';$SMTPPort='587'
    $PWord      = ConvertTo-SecureString $Password –AsPlainText -Force
    $Credential = [Management.Automation.PSCredential]::new($User, $PWord)
    Send-MailMessage `
    -From $User `
    -to $address `
    -Subject 'New file from Base folder' `
    -SmtpServer $SMTPServer `
    -port $SMTPPort `
    -Credential $Credential `
    -UseSsl -Encoding UTF8 `
    -Attachments $event.sourceeventargs.fullpath
}



Время: 00:26.

Время: 00:26.
© OSzone.net 2001-