Войти

Показать полную графическую версию : [решено] Автоматическая отправка файлов, попадающих в папку.


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

Elven
23-09-2020, 13:27
Send-MailMessage (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7). По ссылке даже есть пример с параметром -Attachments

greg zakharov
23-09-2020, 14:10
Вариантов тьма: curl, pwsh, certutil и т.п.

Onza
24-09-2020, 05:02
Нашел smtpsender, Пока разбираюсь.Теперь задача разобраться как отправлять именно последний появившийся в папке файл...

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

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

Fors1k
24-09-2020, 14:03
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
}




© OSzone.net 2001-2012