PowerShell - Отправка сообщения с помощью PowerShell
-
Kazun
-
almaz.husnullin
Re: PowerShell - Отправка сообщения с помощью PowerShell
Сенк за тему, скопипастил чуть поправил, но теперь хочу после отправки вложений переместить их в другую папку.
Write-Verbose "Добавляем получателей"
$To | ForEach-Object {$Message.To.Add($_)}
Write-Verbose "Отправляем сообщение"
$smtpclient.Send($Message)
#$res
Start-Sleep -s 10
Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item $_ -destination "d:\scripts\Send1\old\"}
Move-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
строка:35 знак:116
+ Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item
Write-Verbose "Добавляем получателей"
$To | ForEach-Object {$Message.To.Add($_)}
Write-Verbose "Отправляем сообщение"
$smtpclient.Send($Message)
#$res
Start-Sleep -s 10
Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item $_ -destination "d:\scripts\Send1\old\"}
Move-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
строка:35 знак:116
+ Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item
-
Kazun
Re: PowerShell - Отправка сообщения с помощью PowerShell
Воспользоваться методом Dispose() для объекта класса Net.Mail.Attachment, а лучше использовать командлет Send-MailMessage.
-
alexu.ku.3@fb
Re: PowerShell - Отправка сообщения с помощью PowerShell
А как его засунуть в цикл и в одно письмо вложить 10 файлов - вот так не работает %)
Dispose() так и не понял толком куда вставить, пробовал по разному на разные переменные - не работает.
$body = Get-ChildItem | Select -Exp FullName | Out-String
if($body)
{
send-mailmessage -to "User01 " -from "User02 " -Attachment $body -subject "Test mail" -SmtpServer mx.a.ua -Body "test"
Dispose() так и не понял толком куда вставить, пробовал по разному на разные переменные - не работает.
$body = Get-ChildItem | Select -Exp FullName | Out-String
if($body)
{
send-mailmessage -to "User01 " -from "User02 " -Attachment $body -subject "Test mail" -SmtpServer mx.a.ua -Body "test"
-
Kazun
Re: PowerShell - Отправка сообщения с помощью PowerShell
1) Дохтур, у меня ЭТО! (с)
2) Изменить $body на :
Код:
2) Изменить $body на :
Код:
Код: Выделить всё
$body = Get-ChildItem | Select -Exp FullName-
alexu.ku.3@fb
Re: PowerShell - Отправка сообщения с помощью PowerShell
Сенк, работает.
Но опять же с перемещением отправленных вложений возникает та-же проблема.
Move-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом
___
cd d:\scripts\Send1\
$body = Get-ChildItem | ?{ ! $_.PSIsContainer } | % { $_.FullName }
if($body)
{
send-mailmessage -to "User01 " -from "User02 " -Attachment $body -subject "Test mail" -SmtpServer m.a.ua -Body "test"
}
Start-Sleep -s 5
Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item $_ -destination "d:\scripts\Send1\old\"}
Но опять же с перемещением отправленных вложений возникает та-же проблема.
Move-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом
___
cd d:\scripts\Send1\
$body = Get-ChildItem | ?{ ! $_.PSIsContainer } | % { $_.FullName }
if($body)
{
send-mailmessage -to "User01 " -from "User02 " -Attachment $body -subject "Test mail" -SmtpServer m.a.ua -Body "test"
}
Start-Sleep -s 5
Get-ChildItem "d:\scripts\Send1\"|where { ! $_.PSIsContainer } |select -expand fullname | foreach-object {move-item $_ -destination "d:\scripts\Send1\old\"}