-1

Powershell для сжатия файлов и отправки электронной почты.

Я хочу 7zip файл резервной копии и отправить по электронной почте. Ниже я сделал до сих пор, который будет читать текстовые файлы и отправлять по электронной почте. Вместо этого я хочу отправить все файлы по электронной почте.

param (
    [Parameter(Position=0,Mandatory=$true)] [string] $scriptPath

    )

$smtpSvr = "google.com"
$From = "abc@abc.com"
$To = "abc@abc.com"
$Subject = "Check log files attached"

[string]$messagebody = ""

$logs = Get-Content $Path\*.txt

foreach ($log in $logs )
{
    $messagebody = $messagebody + $log + "`r`n"
}

$smtp = New-Object Net.Mail.SmtpClient($smtpSvr)
$smtp.Send($From,$To,$Subject,$messagebody)

1 ответ1

0

Можете ли вы использовать командлет Send-MailMessage ? С функцией zip от Eld при переполнении стека и объявленных вами переменных ...

function ZipFiles( $zipfilename, $sourcedir )
{
   Add-Type -Assembly System.IO.Compression.FileSystem
   $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
   [System.IO.Compression.ZipFile]::CreateFromDirectory($sourcedir, $zipfilename, $compressionLevel, $false)
}

ZipFiles "c:\logfiles.zip" $scriptPath
Send-MailMessage -SmtpServer $smtpSvr -From $From -To $To -Subject $Subject -Attachments "C:\logfiles.zip" -Body $messagebody

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .